Ceci est ma compréhension de l'utilisation de &
, disown
et nohup
:
<command>
: exécute le processus au sein de l'bash
instance actuelle du terminal , au premier plan (c'est-à-dire que le processus est répertorié en tant quebash
tâche de premier plan etstdin
,stdout
etstderr
sont toujours liés au terminal ); pas à l'abri des blocages ;<command> &
: exécute le processus dans l’bash
instance actuelle du terminal , en arrière-plan (c’est-à-dire que le processus est répertorié commebash
travail en arrière - plan etstdin
,stdout
etstderr
sont toujours liés au terminal ); pas à l'abri des blocages ;<command> & disown
: exécute le processus au sein de l'bash
instance actuelle du terminal , en arrière-plan , mais le processus est détaché de labash
liste des 'travaux' (c'est-à-dire que le processus n'est pas répertorié en tant que travail d'bash
avant-plan / en arrière-plan etstdin
,stdout
etstderr
sont toujours liés au terminal ); à l'abri des blocages ;nohup <command> & disown
: Exécute le processus dans le courant de terminal parbash
exemple, en arrière - plan , mais le processus est détaché de labash
liste ' les emplois de (le processus ne figure pas comme unbash
travail de premier plan / arrière - plan etstdin
,stdout
etstderr
sont pas encore lié à la borne ) ; à l'abri des blocages ;
Ainsi, en dehors de nohup <command> & disown
bloquer stdin
et de rediriger stdout
et stderr
à nohup.out
par défaut, il me semble que cela peut être considéré comme tout à fait équivalent à <command> & disown
.
Le dessus est-il correct? Une idée fausse?
bash
instance parent ne tuera pas le processus