Ist es sicher, die Shell zu schließen, indem Sie einfach auf "X" klicken oder "Strg + D" verwenden, während Sie als root mit su angemeldet sind, oder ist es sicherer, sie zu schließen, indem Sie "exit" eingeben? Gibt es überhaupt einen Unterschied (in Bezug auf die Sicherheit) oder ist er derselbe und spielt keine Rolle, wie Sie ihn verwenden?
11
&
ausgeführt. Wenn Sie "X", werden sie beendet.Das Schließen des Terminalemulators entspricht nicht dem Drücken
CTRL + D
(es sei denn, die Optionhuponexit
ist festgelegt).Wenn Sie das Terminal schließen (auf "X" klicken), sendet der Terminalemulator ein SIGHUP an die Shell. Wenn bash ein SIGHUP empfängt, sendet es auch ein SIGHUP an alle Ihre Jobs.
Wenn Sie das Terminal mit
CTRL+D
oderlogout
oder verlassenexit
, wird die Shell beendet, ohne ein SIGHUP an alle Jobs zu senden. Dies ist das Standardverhalten, kann jedoch durch Festlegen der Bash-shopt
Einstellung geändert werdenhuponexit
.Wenn Sie also letztendlich sicherstellen möchten, dass nichts im Hintergrund läuft, klicken Sie auf "X".
.
Die von jofel in seinem Kommentar angegebenen Informationen sind falsch (sorry jofel). Der Terminalemulator hat keine Ahnung, welche Jobs unter der Shell ausgeführt werden, daher kann er sie nicht beenden.
HINWEIS :
Dieses Verhalten hängt vollständig von der Shell ab. Es ist durchaus möglich, dass verschiedene Shells unterschiedliche Standardverhalten haben.
quelle
Ctrl+d
Prozess von PPID 1 geerbt wird = systemdEs gibt keinen Unterschied. So sehr, dass Sie beim Drücken von ^ D dasselbe tun wie 'exit' eingeben:
quelle
CTRL+D
undexit
das ist auch so, die Frage war, auf das "X" des Fenstermanagers zu klicken, um das Fenster zu schließen, und nicht zu tippenexit
:-)