Este es mi entendimiento sobre el uso de &
, disown
y nohup
:
<command>
: Se ejecuta el proceso dentro de la corriente de la Terminalbash
ejemplo, en el primer plano (es decir, el proceso se muestra como unbash
trabajo de primer plano ystdin
,stdout
ystderr
todavía están unidos a la terminal ); no es inmune a los ahorcados ;<command> &
: Se ejecuta el proceso dentro de la corriente de la Terminalbash
ejemplo, en el fondo (es decir, el proceso se muestra como unbash
trabajo en segundo plano ystdin
,stdout
ystderr
todavía están unidos a la terminal ); no es inmune a los ahorcados ;<command> & disown
: Ejecuta el proceso dentro de la corriente del terminalbash
ejemplo, en el fondo , pero el proceso se separa de lasbash
lista de 's puestos de trabajo' (es decir, el proceso no aparece como unabash
tarea en segundo plano / fondo ystdin
,stdout
ystderr
todavía se une al terminal ); inmune a las colgaduras ;nohup <command> & disown
: Ejecuta el proceso dentro de la corriente del terminalbash
ejemplo, en el fondo , pero el proceso se separa de lasbash
lista de 's puestos de trabajo' (es decir, el proceso no aparece como unabash
tarea en segundo plano / fondo ystdin
,stdout
ystderr
son no todavía ligada a la terminal ) ; inmune a las colgaduras ;
Por lo tanto, aparte de nohup <command> & disown
bloquear stdin
y redirigir stdout
y stderr
que nohup.out
por defecto, me parece como que se puede considerar totalmente equivalente a <command> & disown
.
¿Es correcto todo lo anterior? ¿Alguna idea falsa?
bash
instancia principal no matará el proceso