Czy bezpiecznie jest zamknąć powłokę, klikając „X” lub używając „ctrl + d”, gdy jesteś zalogowany jako root za pomocą su, czy bezpieczniej jest ją zamknąć, wpisując „exit”? Czy w ogóle jest jakaś różnica (pod względem bezpieczeństwa), czy jest taka sama i nie ma znaczenia, z której strony korzystasz?
11
&
pozostaną uruchomione. Jeśli „X”, zostaną rozwiązane.Zamknięcie emulatora terminala to nie to samo, co naciśnięcie
CTRL + D
(chyba że opcjahuponexit
jest ustawiona).Po zamknięciu terminala (kliknięcie „X”) emulator terminala wysyła SIGHUP do powłoki. Kiedy bash otrzymuje SIGHUP, wysyła również SIGHUP do wszystkich twoich zadań.
Po wyjściu z terminala za pomocą
CTRL+D
lublogout
lubexit
, powłoka wychodzi bez wysyłania SIGHUP do wszystkich zadań. Jest to domyślne zachowanie, ale może zostać zmieniony przez ustawienie bashshopt
ustawieniehuponexit
.Tak więc ostatecznie, jeśli Twoim celem jest upewnienie się, że nic nie działa w tle, bezpieczniej jest kliknąć „X”.
.
Informacje podane przez Jofela w jego komentarzu są niepoprawne (przepraszam Jofel). Emulator terminala nie ma pojęcia, jakie zadania działają pod powłoką, więc nie można ich zakończyć.
UWAGA :
To zachowanie jest całkowicie zależne od powłoki. Jest całkiem możliwe, że różne powłoki mają różne domyślne zachowania.
źródło
Ctrl+d
proces jest dziedziczony przez PPID 1 = systemdNie ma różnicy. Tak bardzo, że naciskając ^ D, robisz to samo, co wpisując „exit”:
źródło
CTRL+D
iexit
to samo, pytanie dotyczyło kliknięcia „X” menedżera okien, aby zamknąć okno, a nie pisaniaexit
:-)