Це питання давнє, і мені досі не зрозуміло, чому.
Оригінальне запитання 2014 року:
На вкладці терміналу Gnome я побіг
$ nohup chromium-browser &
Але коли я закриваю вкладку терміналу, chromium-browser
також виходить. Хіба це не nohup
повинно запобігти? Жил сказав:
nohup та unanwn, як можна сказати, пригнічують SIGHUP, але різними способами. nohup змушує програму ігнорувати сигнал спочатку (програма може змінити це). nohup також намагається домовитись, щоб програма не мала керуючого терміналу, так що вона не буде відправлена ядром SIGHUP, коли термінал закритий. відпадання суто внутрішнє для оболонки; це змушує оболонку не надсилати SIGHUP, коли вона закінчується.
Тож чи не змушує Chrome-браузер ігнорувати SIGHUP?
Я бачу це і на інших виконуваних файлах, таких як і Emacs (режим GUI). Але не на xeyes.
Це відбувається в 32-розрядному Ubuntu 12.04, коли було розміщено питання.
Оновлення у 2015 році,
Зараз я запускаю Ubuntu 14.04, з google-chrome
замість chromium-browser
встановленого. Те саме, що було раніше з Chrome-браузером, трапляється і з google-chrome зараз. nohup google-chrome 2>/dev/null &
не рятує його від закриття, коли вкладка терміналу закрита. /usr/bin/google-chrome
є посиланням на скрипт bash /opt/google/chrome/google-chrome
. Чому nohup
застосований до скрипту bash не працює? Як ми можемо змусити його працювати над скриптами bash? Що з сценаріями Python?
xeyes
.