내 프로그램의 주 프로세스는 프로세스 ID를 pid1, pid2, pid3라고하는 3 가지 프로세스를 포크합니다. Pid1과 pid2 프로세스는 무한 루프에 있습니다. 내가 원하는 것은 pid3 프로세스가 주 프로세스를 포함하여 모든 프로세스를 끝내고 종료 될 때입니다. 현재로서는 다음과 같이 사용하고 있습니다 :신호로 C에서 프로세스를 Kiling하기
wait(pid3);
kill(0, SIGKILL);
위의 내용은 모두 말했지만, 터미널에서 Killed를 인쇄합니다. 나는 그 신호가 아무 것도 죽이지 않고 실제로 보이기를 원하지 않지만, 프로그램을 정상적으로 종료한다. 어떻게해야합니까?
사실, 프로그램의 호출자가 사용자가'kill'명령 ('kill'명령의 정상 동작)을 사용하여 그것을 죽였는지를 탐지 할 수 있기를 원할 수 있기 때문에,'kill'명령과 같은 별도의 신호를 사용하는 것이 더 낫습니다. SIGUSR1'을 사용하여 다른 프로세스에게 종료해야 함을 알립니다. –