tela ou tmux
Claro que você pode iniciar processos e, em seguida, executar continuamente usando um multiplexador de terminal, como screen ou tmux. Os processos podem continuar a persistir em uma tela ou sessão tmux, e você pode conectar / desconectar para (screen ou tmux) conforme necessário.
backgrounding
Você pode executar qualquer processo que desejar e, em seguida, contextualizá-lo e, em seguida, desconectá-lo do seu terminal atual usando o comando disown
.
$ disown -a
Além disso, se você quiser apenas iniciar um processo e não precisar usar o background e disown
, use o comando nohup
.
$ nohup myexec &
Quando você sair do shell, myexec
continuará sendo executado.
Exemplo
Inicie um processo falso.
$ sleep 12345 &
[1] 24339
$
Certifique-se de que podemos ver:
$ pgrep -f "sleep 12345"
24339
Mas ainda está conectado ao nosso terminal:
$ jobs
[1]+ Running sleep 12345 &
Então, vamos disown
it:
$ disown -a
$ jobs
$
Veja se ainda está em execução:
$ pgrep -f "sleep 12345"
24339
Agora vamos fazer logout e fazer login novamente. Veja se ainda está lá:
$ pgrep -f "sleep 12345"
24339
Você pode matar esse processo a qualquer momento usando os métodos padrão:
$ pkill -HUP -f "sleep 12345"
$ pgrep -f "sleep 12345"
$
O texto acima enviará o sinal HUP
para um nome de processo que corresponda ao padrão "sleep 12345". A checagem dupla mostra que agora se foi.