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.