1
Go에는 신호 처리기를 등록하는 방법이 없으므로 SIGCHLD
을 붙잡을 수 없습니다. 그렇다면 프로세스가 CHILD_SUBREAPER 플래그를 설정했거나 PID 네임 스페이스에서 PID 1이므로 프로세스를 종료하는 방법에 대해 어떻게 알 수 있습니까?Go on Unix/Liunx에서 알지 못하는 아이들에 관해 배우려면 어떻게해야합니까?
Go에는 신호 처리기를 등록하는 방법이 없으므로 SIGCHLD
을 붙잡을 수 없습니다. 그렇다면 프로세스가 CHILD_SUBREAPER 플래그를 설정했거나 PID 네임 스페이스에서 PID 1이므로 프로세스를 종료하는 방법에 대해 어떻게 알 수 있습니까?Go on Unix/Liunx에서 알지 못하는 아이들에 관해 배우려면 어떻게해야합니까?
오!를 사용하여 신호 처리기를 등록 할 수 있습니다. 너무 간단합니다! 나는 신호에 대해'syscall '에 왜 그렇게 많은 것이 있었는지 궁금해했다. 그러나 겉으로는 그것들을들을 방법이 없다. 요즘의 도서관 문서를 탐색하는 법을 배웁니다. – Omnifarious
나는이 대답을 일주일 반 동안 기다리는 것이 합리적으로 보이지 않을지라도, 그렇게 빨리 답을 받아 들여서는 안된다. 문제는 Notify 메커니즘이 어떤 신호를 받았는지를 알려주지 만 다른 세부 정보는 알려주지 않는다는 것입니다. 따라서 당신이 새 아이를 가지고 있다고 말하는 SIGCHLD를 얻을 때, 당신은 그것이 PID인지를 알 수 없습니다. :-( – Omnifarious
옳은 것은 signalfd입니다. – Omnifarious