PID가 실행되지 않을 때 /proc/PID가 계속 존재할 수 있습니까?

PID가 실행되지 않을 때 /proc/PID가 계속 존재할 수 있습니까?

/proc/4587PID 4587로 프로세스가 없어도 비슷한 폴더가 존재할 가능성이 있나요?

답변1

/proc단지 마운트 만 하는 경우 proc(아무도 덮어쓰기 작업을 하지 않은 경우) 아니요, pid 기반 폴더는 해당 프로세스가 일부 상태(좀비 프로세스 포함)에 존재하는 한만 존재합니다. 실제로 프로세스 ID에 대한 디렉터리 항목을 반환하기 직전에커널은 프로세스의 존재를 다시 확인합니다.--따라서 디렉토리 항목이 반환되는 순간 해당 프로세스는 여전히 존재합니다.카탈로그 방문또한 해당 프로세스를 찾는 것부터 시작됩니다. (줄번호가 바뀌면 proc_pident_instantiate합계를 찾아보세요 proc_pident_lookup.)

/proc나중에(몇 마이크로초 후에도) 결과를 나열하고 사용하면 문제가 발생할 수 있습니다 . 나열할 때 프로세스가 실행 중일 수 /proc있으며 결과에 대해 조치를 취하기 전에 중지될 수 있습니다.

관련 정보