Questa è la mia comprensione circa l'uso di &
, disown
e nohup
:
<command>
: esegue il processo all'internobash
dell'istanza corrente del Terminale , in primo piano (ovvero il processo è elencato comebash
lavoro in primo piano estdin
,stdout
estderr
sono ancora associati al terminale ); non immune ai problemi ;<command> &
: esegue il processobash
nell'istanza corrente del Terminale , in background (ovvero il processo è elencato comebash
processo in background estdin
,stdout
estderr
sono ancora associati al terminale ); non immune ai problemi ;<command> & disown
: esegue il processobash
nell'istanza corrente del Terminale , in background , ma il processo è staccato dallabash
lista dei 'lavori' (cioè il processo non è elencato comebash
lavoro in primo piano / in background estdin
,stdout
estderr
sono ancora legati al terminale ); immune ai problemi ;nohup <command> & disown
: Esegue il processo all'interno corrente del Terminalbash
esempio, sullo sfondo , ma il processo è staccato dallebash
lista 's lavori' (vale a dire il processo non è elencato come unbash
/ processo in background primo piano estdin
,stdout
estderr
sono non ancora legato al terminale ) ; immune ai problemi ;
Quindi, a parte il nohup <command> & disown
blocco stdin
e il reindirizzamento stdout
e stderr
per nohup.out
impostazione predefinita, mi sembra che possa essere considerato totalmente equivalente a <command> & disown
.
Quanto sopra è corretto? Qualche idea sbagliata?
bash
istanza padre non ucciderà il processo