sighup

놀라운 점: Interactive Bash는 별도의 프로세스 그룹에서 명령을 실행합니다.
sighup

놀라운 점: Interactive Bash는 별도의 프로세스 그룹에서 명령을 실행합니다.

놀랍게도 적어도 Bash 4.4.19부터 Interactive Bash는 별도의 세션에서 명령을 실행합니다. 실행 후 다음 프로세스 목록을 참조하십시오 sleep 8888. PGID PID PPID 3150071 3150071 252603 -bash 3194323 3194323 3150071 sleep 8888 of는 bash와 같지 않지만 PPID는 동일하다는 PGID것을 알 수 있습니다 .sleep 테스트는 Ubuntu Bionic에서 수행되었습니다. 이 동작...

Admin

nano, 수신된 SIGHUP 또는 SIGTERM을 사용하여 새 파일을 만들 수 없습니다.
sighup

nano, 수신된 SIGHUP 또는 SIGTERM을 사용하여 새 파일을 만들 수 없습니다.

이 주제에 대해서만 다음 질문을 찾았습니다. SIGHUP 또는 SIGTERM 수신: nano는 빈 파일을 편집할 수 없습니다. 웹 서버를 구성 중입니다. 이전에는 아무런 문제도 없었는데 이 오류의 원인이 정확히 무엇인지 궁금합니다. 삼바와 PHP를 설치했습니다. 이전 의견에서 제안한 대로 strace 및 auditd를 시도했지만 이 문제는 발생하지 않았습니다. @unity:/var/www/html $ sudo nano info.php Received SIGHUP or SIGTERM @unity:...

Admin

다음과 같은 상황에서는 왜 huponexit가 작동하지 않나요?
sighup

다음과 같은 상황에서는 왜 huponexit가 작동하지 않나요?

Bash 매뉴얼에 따르면 huponexit 쉘 옵션이 shopt를 사용하여 설정된 경우(62페이지 섹션 4.3.2 [내장 Shopt] 참조) Bash는 대화형 로그인 쉘이 종료될 때 모든 작업에 SIGHUP을 보냅니다. 다음과 같은 상황에서는 왜 huponexit가 작동하지 않나요? 대화형 쉘에서 $ shopt -s huponexit $ sleep 4321 & [1] 13816 $ exit 그런 다음 다른 쉘에서 $ ps -j 13816 PID PGID SID TT...

Admin

터미널 에뮬레이터 창을 닫으면 bash 프로세스가 종료되고 SIGHUP 트랩이 종료되지 않도록 변경되는 이유는 무엇입니까?
sighup

터미널 에뮬레이터 창을 닫으면 bash 프로세스가 종료되고 SIGHUP 트랩이 종료되지 않도록 변경되는 이유는 무엇입니까?

lxterminal 터미널 에뮬레이터 창의 bash 쉘에서 다음을 실행합니다. $ trap "echo hello" SIGHUP $ kill -s HUP $$ hello $ 그런 다음 터미널 에뮬레이터 창을 닫습니다. 터미널 에뮬레이터 창을 닫으면 SIGHUP이 제어 프로세스(예: bash 프로세스)로만 전송됩니까? SIGHUP 트랩은 bash 프로세스를 종료하지 않기 때문에 bash 프로세스가 종료되지 않을 것이라고 예상했는데 실제로 bash 프로세스가 종료된 이유는 무엇입니까? 트랩을 ...

Admin

Linux 커널이 중지된 프로세스를 포함하는 새로운 고아 프로세스 그룹에 먼저 SIGCONT를 보낸 다음 SIGHUP을 보내지 않는 이유는 무엇입니까?
sighup

Linux 커널이 중지된 프로세스를 포함하는 새로운 고아 프로세스 그룹에 먼저 SIGCONT를 보낸 다음 SIGHUP을 보내지 않는 이유는 무엇입니까?

APUE 라고 부모 프로세스가 종료되면 프로세스 그룹은 고아가 되고 프로세스 그룹에는 중지된 프로세스가 포함되어 있기 때문에 POSIX.1에서는 새로 고아가 된 프로세스 그룹의 각 프로세스에 정지 신호(SIGHUP)를 보내야 합니다. 이어서계속 신호(SIGCONT). 커널은 SIGHUP 이후에 SIGCONT를 보내지만 프로세스는 SIGHUP을 수행하기 전에 SIGCONT에 의해 깨어납니다. 그렇다면 Linux 커널이 SIGHUP 전에 SIGCONT를 보내지 않는 이유는 무엇입니까? 감...

Admin

중지된 프로세스가 포함된 새로운 고아 프로세스 그룹에 SIGHUP을 보내야 하는 이유는 무엇입니까?
sighup

중지된 프로세스가 포함된 새로운 고아 프로세스 그룹에 SIGHUP을 보내야 하는 이유는 무엇입니까?

이것UNIX 환경의 고급 프로그래밍BOOK("APUE") 라고 자식 프로세스로 분기된 다음 종료되는 프로세스를 생각해 보세요. 이는 이상한 일이 아니지만(항상 발생함) 상위 프로세스가 종료될 때 하위 프로세스가 중지(작업 제어를 사용하여)되면 어떻게 됩니까? 그 아이는 어떻게 살아남을 것이며, 그 아이는 자신이 고아가 되었다는 사실을 알게 될까요? ... 프로세스 그룹이 분리되지 않은 경우 다른 프로세스 그룹에 있지만 동일한 세션에 있는 상위 프로세스 중 하나가 분리되지 않은...

Admin

서브쉘이 종료되기 전에 SIGSTOP에 따라 서브쉘의 하위 프로세스를 중지하는 방법은 무엇입니까?
sighup

서브쉘이 종료되기 전에 SIGSTOP에 따라 서브쉘의 하위 프로세스를 중지하는 방법은 무엇입니까?

Bash에서 를 실행하면 서브셸이 종료 ( sleep 123 &)될 sleep 123때 프로세스가 계속 실행됩니다. sleep 123상위 및 하위 쉘이 종료되기 전에 프로세스를 중지하려면 어떻게 해야 합니까 ? 합계를 받아 sleep 123프로세스가 종료되는지 확인하려고합니다 . 예를 찾고 있어요SIGHUPSIGCONTSIGHUP이 고아 프로세스로 전송되는데 왜 종료되지 않습니까?그리고기본적으로 커널은 고아가 되고 중지된 프로세스를 포함하는 프로세스 그룹에 SIGHUP을 보내 모든 프로세스를...

Admin

기본적으로 커널은 고아가 되고 중지된 프로세스를 포함하는 프로세스 그룹에 SIGHUP을 보내 모든 프로세스를 종료합니까?
sighup

기본적으로 커널은 고아가 되고 중지된 프로세스를 포함하는 프로세스 그룹에 SIGHUP을 보내 모든 프로세스를 종료합니까?

Linux 프로그래밍 인터페이스에서 격리된 프로세스 그룹이 중요한 이유를 이해하려면 셸 작업 제어 관점에서 사물을 살펴봐야 합니다. 그림 34-3을 기반으로 다음 시나리오를 고려하십시오. 상위 프로세스가 종료되기 전에 하위 프로세스가 중지됩니다(아마도 상위 프로세스가 중지 신호를 보냈기 때문일 수 있음). 상위 프로세스가 종료되면 쉘은 작업 목록에서 상위 프로세스의 프로세스 그룹을 제거합니다. 하위 프로세스는 init에 의해 채택되며 터미널의 백그라운드 프로세스가 됩니다. 하...

Admin

nohup은 쉘 프로세스의 하위 프로세스에서만 작동하고 비쉘 프로세스의 하위 프로세스에서는 작동하지 않습니까?
sighup

nohup은 쉘 프로세스의 하위 프로세스에서만 작동하고 비쉘 프로세스의 하위 프로세스에서는 작동하지 않습니까?

nohup은 외부 프로그램입니다. 쉘 프로세스의 하위 프로세스에 대한 SIGHUP 조치를 "무시"로 변경하려면 어떻게 해야 합니까? (nohup 이후 하위 프로세스 fork()및/또는 execve()프로그램 에서 호출할 때 일부 매개변수와 관련하여 ?) nohup은 쉘 프로세스의 하위 프로세스에서만 작동하고 비쉘 프로세스의 하위 프로세스에서는 작동하지 않습니까? 감사해요. ...

Admin

SIGHUP이 고아 프로세스로 전송되는데 왜 종료되지 않습니까?
sighup

SIGHUP이 고아 프로세스로 전송되는데 왜 종료되지 않습니까?

존재하다리눅스 프로그래밍 인터페이스: SIGHUP은 프로세스 그룹이 고아 프로세스가 될 때 생성됩니다. 대화형 bash 중에 $ ( sleep 123 &) 먼저 하위 쉘이 분기된 다음 해당 하위 쉘이 실행을 위해 분기됩니다 sleep 123 &. 서브쉘은 sleep 123완료를 기다리지 않고 즉시 종료됩니다 &. 프로세스가 sleep고아 프로세스입니까? (그렇게 생각해요,그림 34.3) sleep프로세스가 분리되었기 때문에 SIGHUP이 전송되고 있습니까? (...

Admin

HUP/SIGHUP 캡처가 bash 스크립트에서 작동하지 않습니다.
sighup

HUP/SIGHUP 캡처가 bash 스크립트에서 작동하지 않습니다.

이 bash 스크립트가 있습니다. https://gist.github.com/ORESoftware/06dbb26a48d2ddf48a5a2166834e0836 ql_acquire_lock쉘을 호출할 때 mkdir디렉토리를 호출할 수 있으면 잠금을 획득합니다. 내가 그것을 호출하면 ql_release_lock디렉토리, 간단한 내용이 삭제됩니다. 이제 ql_acquire_lock호출되면 다음이 호출됩니다. 트랩 ql_on_trap 종료 트랩 ql_on_trap SIGHUP 트랩 ql_on_trap 0...

Admin