Este é o meu entendimento sobre o uso &
, disown
e nohup
:
<command>
: É executado o processo dentro de corrente do terminalbash
exemplo, no primeiro plano (isto é, o processo está listado como umabash
tarefa de primeiro plano estdin
,stdout
estderr
ainda estão ligados ao terminal ); não imune a puxões ;<command> &
: É executado o processo dentro de corrente do terminalbash
exemplo, no fundo (ou seja, o processo está listada como umbash
trabalho de fundo estdin
,stdout
estderr
ainda estão ligados ao terminal ); não imune a puxões ;<command> & disown
: É executado o processo dentro de corrente do terminalbash
exemplo, no fundo , mas o processo é separada dasbash
lista 's trabalhos' (isto é, o processo não está listado como umabash
tarefa de primeiro plano / segundo plano estdin
,stdout
estderr
ainda estão ligados ao terminal ); imune a interrupções ;nohup <command> & disown
: É executado o processo dentro de corrente do terminalbash
exemplo, no fundo , mas o processo é separada dasbash
lista 's trabalhos' (isto é, o processo não está listado como umabash
tarefa de primeiro plano / segundo plano estdin
,stdout
estderr
são não ainda ligado ao terminal ) ; imune a interrupções ;
Assim, além de nohup <command> & disown
bloquear stdin
e redirecionar stdout
e stderr
para nohup.out
por padrão, parece-me que ele pode ser considerado totalmente equivalente a <command> & disown
.
O acima está correto? Algum equívoco?
bash
exemplo não irá matar o processo