Відповіді:
Ctrl-D або exit
те саме.
Якщо ви використовуєте "X", менеджер вікон посилає сигнал оболонки в оболонку. Що має наприкінці такий же результат. Якщо оболонка не реагує, користувач зазвичай отримує попередження і може змусити оболонку закінчитися (дорівнює kill -9 $PID
).
Існує одна невелика різниця між "X" - і методом виходу, якщо ви використовуєте zsh
як оболонку: Якщо у вас запущений фоновий процес, exit
/ ctrl-D вперше видає лише попереджувальне повідомлення "у вас запущені завдання", вдруге оболонку закривають. За допомогою кнопки "X" оболонка негайно закінчується без будь-яких попереджень.
Закриття емулятора терміналу - це не те саме, що натискання CTRL + D
(якщо не встановлено варіант huponexit
).
Коли ви закриваєте термінал (натискаючи "X"), емулятор термінала надсилає SIGHUP до оболонки. Коли bash отримує SIGHUP, він також надсилає SIGHUP на всі ваші завдання.
Коли ви виходите з терміналу з CTRL+D
або logout
або exit
, оболонка виходить, не надсилаючи SIGHUP на всі завдання. Це поведінка за умовчанням, але може бути змінений шляхом установки Баш shopt
настройки huponexit
.
Отже, в кінцевому рахунку, якщо ваша мета - переконатися, що у фоновому режимі нічого не працює, його шаблоном натиснути «X».
.
Інформація, надана jofel у своєму коментарі, невірна (вибачте jofel). Емулятор терміналу не має поняття, які завдання виконуються під оболонкою, тому він не може їх припинити.
ПРИМІТКА .
Така поведінка повністю залежить від оболонки. Цілком можливо, що різні оболонки мають різну поведінку за замовчуванням.
Ctrl+d
процес успадковується за допомогою PPID 1 = systemd
&
залишаться запущеними. Якщо ви "X", вони припиняться.