Řešení 1:
Nejlepší způsob je použít screen (na serveru), chcete-li spustit relaci pro spuštění příkazu, a poté odpojit obrazovku, aby pokračovala v chodu a vy můžete dělat jiné věci, nebo se jen odpojit od serveru. Další možností je použít nohup v kombinaci s & takže byste měli nohup <command> &
Řešení 2:
Můžete také použít disown pokud jste proces již zahájili bez screen nebo nohup
Řešení 3:
Stávající odpovědi mohou fungovat dobře, ale potřeboval jsem něco pro BusyBox (shell a sada nástrojů pro minimální hardware, jako jsou domácí routery). Můj systém nemá screen , dtach , at , disown , nebo dokonce nohup ! Takže díky tbc0 na SO (odkaz) jsem našel tento klenot. Okamžitě se vrátí, ale proces serveru pokračuje:
ssh myserver 'sleep 100 >&- 2>&- <&- &'
Nebo, pokud je potřeba více příkazů:
ssh myserver '(echo one; sleep 100; echo two; sleep 200) >&- 2>&- <&- &'
Vysvětlení:
>&-- zavřete stdout rukojeť2>&-- zavřít stderr<&-- zavřít stdin&- dát proces na pozadí
To nepoužívá žádné externí programy a mělo by fungovat přes ksh, ash, Bourne shell, bash atd.