As respostas existentes podem funcionar bem, mas eu precisava de algo para o BusyBox (um shell e um conjunto de ferramentas para hardware mínimo, como roteadores domésticos). Meu sistema não tem screen , dtach , at , disown ou mesmo nohup ! Então, graças a tbc0 em SO ( link ), encontrei esta jóia. Ele retorna imediatamente, mas o processo do servidor continua a ser executado:
ssh myserver 'sleep 100 >&- 2>&- <&- &'
Ou, se vários comandos forem necessários:
ssh myserver '(echo one; sleep 100; echo two; sleep 200) >&- 2>&- <&- &'
Explicação:
-
>&- - fecha a manivela stdout
-
2>&- - fechar stderr
-
<&- - fechar stdin
-
& - colocar o processo em segundo plano
Isso não usa programas externos e deve funcionar em ksh, ash, Bourne shell, bash, etc.