Ceci est ma compréhension de l'utilisation de &
, disown
et nohup
:
- : exécute le processus dans l'instance actuelle de
bash
du Terminal, en premier plan (c'est-à-dire que le processus est répertorié comme un travail de premier plan debash
etstdin
,stdout
etstderr
sont toujours liés au terminal); pas immunisé contre les raccrochages; &
: exécute le processus dans l'instance actuelle debash
du Terminal, en arrière-plan (c'est-à-dire que le processus est répertorié comme un travail en arrière-plan debash
etstdin
,stdout
etstderr
sont toujours liés au terminal); pas immunisé contre les raccrochages;& disown
: exécute le processus dans l'instance actuelle debash
du Terminal, en arrière-plan, mais le processus est détaché de la liste des travaux debash
(c'est-à-dire que le processus n'est pas répertorié comme un travail de premier plan / arrière-plan debash
etstdin
,stdout
etstderr
sont toujours liés au terminal); immunisé contre les raccrochages;nohup & disown
: exécute le processus dans l'instance actuelle debash
du Terminal, en arrière-plan, mais le processus est détaché de la liste des travaux debash
(c'est-à-dire que le processus n'est pas répertorié comme un travail de premier plan / arrière-plan debash
etstdin
,stdout
etstderr
ne sont plus liés au terminal); immunisé contre les raccrochages;
Donc, à part le fait que nohup & disown
bloque stdin
et redirige stdout
et stderr
vers nohup.out
par défaut, il me semble que cela peut être considéré comme totalement équivalent à & disown
.
Est-ce que tout ce qui précède est correct ? Y a-t-il une confusion ?