/proc/pid/stat의 지속 시간

/proc/pid/stat의 지속 시간

하위 프로세스를 시작하는 프로세스가 있고, 하위 프로세스가 종료되면 /proc/<pid>/stat하위 프로세스에서 사용하는 CPU 및 메모리에 대한 정보를 수집하기 위해 검색합니다. 그런데 빌린 시간에 여기 온 게 아닌가 걱정이 된다. wait()신호 처리기를 반환하거나 전송/호출한 후 SIGCHLD실제로 응답이 정지되는 시간은 얼마나 됩니까? PID를 재사용해야 할 때까지 지속된다면 매우 편리할 것입니다. 그러나 분명히 그렇지 않습니다.

답변1

/proc/[pid]프로그램이 종료되면 사라집니다. 확인 해봐:https://superuser.com/questions/365576/lifetime-of-the-symlinks-from-the-file-descriptors-in-proc-pid-fd

편집하다:

매뉴얼 페이지가 말할 때까지 기다리십시오.

wait() 함수는 호출 프로세스의 종료된 하위 프로세스 중 하나에 대한 상태 정보를 사용할 수 있을 때까지 또는 신호 포착 함수를 실행하거나 스레드를 종료하여 작동하는 신호가 전달될 때까지 호출 스레드의 실행을 일시 중단해야 합니다. 프로세스.

따라서 하위 프로세스를 종료하기 위해 신호가 전달되었을 가능성이 있습니다. 그런 다음 wait반환되지만 하위 프로세스는 아직 종료되지 않았습니다. 그래서 당신은 여전히 ​​​​읽을 수 있습니다 /proc/pid/stat. 자식 프로세스가 종료되면 /proc/pid/stat사라집니다.

관련 정보