Когда bash's shopt huponexit начал по умолчанию отключаться?

Когда bash's shopt huponexit начал по умолчанию отключаться?

В понедельник утром я вошел в систему sshи выполнил следующую команду:

tail -f /var/log/foo/bar.log | grep something_interesting &

В какой-то момент дня я вышел из системы, нажав Ctrl+D.

В пятницу я вошел в тот же ящик и обнаружил, что tailпроцессы все еще запущены. Я ожидал, что они завершится, когда я выхожу из системы.

При дальнейшем изучении выяснилось, что эта опция shopt huponexitустановлена off​​на этом компьютере, а также на всех других компьютерах с Linux, которые я пробовал, и на одном компьютере с Mac OS X, который я пробовал.

Когда это стало означать по умолчанию off, а не on?

решение1

По умолчанию он был отключен, когда был представлен в bash 2.02:

@@ -119,6 +123,10 @@ int interactive = 0;
 /* Non-zero means that the shell was started as an interactive shell. */
 int interactive_shell = 0;

+/* Non-zero means to send a SIGHUP to all jobs when an interactive login
+   shell exits. */
+int hup_on_exit = 0;
+

http://git.savannah.gnu.org/cgit/bash.git/commit/shell.c?id=cce855bc5b117cb7ae70064131120687bc69fac0

Связанный контент