bash의 shopt huponexit는 기본적으로 언제 꺼지나요?

bash의 shopt huponexit는 기본적으로 언제 꺼지나요?

월요일 아침에 상자에 로그인 ssh하고 다음 명령을 실행했습니다.

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

그날 늦게 저는 Ctrl+D를 눌러 로그아웃했습니다.

금요일에 동일한 상자에 로그인했는데 tail프로세스가 여전히 실행 중인 것을 발견했습니다. 내가 그만뒀을 때, 나는 그들이 그만둔 줄 알았다.

더 자세히 조사한 결과, 이 컴퓨터와 내가 시도한 다른 모든 Linux 컴퓨터는 물론 내가 시도한 Mac OS X 컴퓨터에서도 shopt huponexit.off

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

관련 정보