Risposte:
Ctrl-D o exit
è lo stesso.
Se si utilizza la "X", il gestore di finestre invia un segnale di fine alla shell. Che ha alla fine lo stesso risultato. Se la shell non reagisce, l'utente di solito riceve un avviso e può quindi forzare la chiusura della shell (uguale a kill -9 $PID
).
C'è una piccola differenza tra la "X" - e il metodo exit se si sta usando zsh
come shell: se si sta eseguendo un processo in background, exit
/ ctrl-D produce per la prima volta solo un messaggio di avviso "si hanno lavori in esecuzione", il la seconda volta che la shell viene chiusa. Con il pulsante "X", la shell termina immediatamente senza alcun avviso.
Chiudere l'emulatore di terminale non equivale a premere CTRL + D
(a meno che l'opzione non huponexit
sia impostata).
Quando si chiude il terminale (facendo clic su "X"), l'emulatore di terminale invia un SIGHUP alla shell. Quando bash riceve un SIGHUP, invia anche un SIGHUP a tutti i tuoi lavori.
Quando si esce dal terminale con CTRL+D
o logout
o exit
, la shell si chiude senza inviare un SIGHUP a tutti i lavori. Questo è il comportamento predefinito, ma può essere modificato impostando l' shopt
impostazione bash huponexit
.
Quindi, alla fine, se il tuo obiettivo è assicurarti che non ci sia nulla in esecuzione in background, fai clic su "X".
.
Le informazioni fornite da jofel nel suo commento sono errate (scusate jofel). L'emulatore di terminale non ha idea di quali lavori stiano eseguendo sotto la shell, quindi non può terminarli.
NOTA :
questo comportamento dipende completamente dalla shell. È del tutto possibile che shell diverse abbiano comportamenti predefiniti diversi.
Ctrl+d
processo è ereditato da PPID 1 = systemd
Non c'è differenza. Al punto che, quando premi ^ D, stai facendo la stessa cosa digitando 'esci':
$ su -
Password:
# [press ^D]
logout
CTRL+D
e exit
sono uguali, la domanda riguardava il clic sulla "X" del gestore della finestra per chiudere la finestra, senza digitare exit
:-)
&
rimarranno in esecuzione. Se si "X", verranno terminati.