nohup은 외부 프로그램입니다. 쉘 프로세스의 하위 프로세스에 대한 SIGHUP 조치를 "무시"로 변경하려면 어떻게 해야 합니까? (nohup 이후 하위 프로세스 fork()
및/또는 execve()
프로그램 에서 호출할 때 일부 매개변수와 관련하여 ?)
nohup은 쉘 프로세스의 하위 프로세스에서만 작동하고 비쉘 프로세스의 하위 프로세스에서는 작동하지 않습니까?
감사해요.
답변1
nohup
이 신호를 무시하도록 구성하십시오 SIGHUP
.GNU 구현.POSIX 사양nohup
지적
당시 이름이 붙은유용호출되면 SIGHUP 신호가 무시되도록 설정되어야 합니다.
또한 좋아요POSIX에 의해 지정됨, 하위 프로세스는 을 제외한 무시된 신호를 상속하므로 SIGCHLD
무시된 후 시작된 모든 프로세스는 자체적으로 무시됩니다.nohup
SIGHUP
SIGHUP
nohup
처리는 상위 프로세스 nohup
에 관계없이 의 모든 하위 프로세스에 적용됩니다. 하다nohup
nohup
아니요(불가능) 쉘이든 아니든 부모가 신호를 처리하는 방식에 영향을 줄 수 없습니다.