Linux 의 좀 비 프로 세 스
Liux 에는 몇 가지 프로 세 스 상태 가 있 습 니 다. 그 중 하 나 는 좀 비 프로 세 스 입 니 다. 개인 적 으로 이해 할 수 있 는 것 은 바로 우리 의 하위 프로 세 스 가 이미 종료 되 었 지만 하위 프로 세 스 가 탈퇴 한 후에 돌아 갈 집 이 없습니다. 바로 떠 다 니 는 외 로 운 혼비백산 귀 와 같 기 때문에 이미지 의 이름 을 좀 비 프로 세 스 라 고 부 릅 니 다.
좀 비 프로 세 스 의 구조
사실 좀 비 프로 세 스 는 하나의 프로 세 스 가 exit 를 호출 한 후에 남 긴 데이터 구 조 를 알 고 있 습 니 다.좀 비 상태 에 있 는 프로 세 스 는 메모리 공간 이 거의 없고 실행 가능 한 코드 도 없고 시스템 에 의 해 배 치 될 수도 없습니다. 그 는 프로 세 스 목록 에 프로 세 스 의 종료 상 태 를 기록 하기 위해 위 치 를 남 겼 습 니 다.
좀 비 진행 을 보류 한 이유
우 리 는 프로 세 스 가 종 료 된 후에 왜 좀 비 프로 세 스 를 한동안 진행 해 야 하 는 지 반문 할 수 밖 에 없 었 다.
프로 세 스 가 종료 되 었 지만 이 프로 세 스 는 프로그래머 나 시스템 관리자 에 게 유용 한 정 보 를 많이 보유 하고 있 습 니 다.예 를 들 어 이 프로 세 스 가 어떻게 종료 되 는 지, 정상적으로 종료 되 는 지, 오류 가 발생 했 는 지, 아니면 다른 프로 세 스에 의 해 끝 났 는 지, 이 프로 세 스 의 종료 코드 가 무엇 인지 요약 합 니 다.이 프로 세 스 가 사용 하 는 CPU 시간 과 사용자 시간 이 얼마 입 니까?
이런 정 보 는 모두 좀 비 진행 과정 에 저장 되 어 있다. 예 를 들 어 한 동쪽 이 영문 도 모 르 고 죽 으 면 우 리 는 이 동쪽 시체 가 어디 에 있 는 지, 어떻게 죽 었 는 지 알 아야 한다.
그래서 프로 세 스 가 종료 되면 시스템 은 이 를 Zombie 로 만 들 고 부모 프로 세 스 가 회수 할 때 까지 기 다 립 니 다.부모 프로 세 스 가 다른 일 을 하고 있 을 수도 있 습 니 다. 회수 할 시간 이 없 을 수도 있 습 니 다. 부모 프로 세 스 가 계속 회수 하지 않 으 면 이 프로 세 스 는 한동안 시스템 커 널 에 의 해 회 수 됩 니 다.
좀 비 프로 세 스 만 들 기
다음은 좀 비 프로 세 스 를 만 드 는 예 를 제공 합 니 다.
#include<stdio.h>
#include<stdlib.h>
int main()
{
int id = fork();
if(id > 0)
{
printf("Parent is sleeping....
");
sleep(5);
}
if(id == 0)
{
printf("son exit");
exit(EXIT_SUCCESS);
}
return 0;
}
프로그램 이 실 행 된 결 과 는 먼저 Parent is sleeping... 을 인쇄 한 다음 다른 줄 로 son exit 를 인쇄 한 다음 5 초 간 지속 한 후에 프로그램 이 종료 되 었 습 니 다.
우 리 는 위의 프로그램 을 실행 할 때 모레 감 시 를 하고 명령 ps - ax 를 직접 입력 한 다음 에 프로 세 스 가 좀 비 프로 세 스 라 는 것 을 발견 할 수 있 습 니 다. 다음 과 같 습 니 다.
2653 pts/0 Z+ 0:00 [myprocess] <defunct>
좀 비 수집 과정
Zombie 프로 세 스 의 정 보 를 수집 하고 이 좀 비 프로 세 스 를 종료 하려 면 부모 프로 세 스에 서 waitpid 호출 과 wait 호출 을 사용 해 야 합 니 다.이 두 가지 역할 은 좀 비 프로 세 스 가 남 긴 정 보 를 수집 하 는 동시에 이 프로 세 스 를 완전히 사라 지게 하 는 것 이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.