Linux가 죽일 수 없는 문제에 대한 해결책: 1. top 명령을 사용하여 좀비 프로세스 수를 확인합니다. 2. 데이터베이스를 강제로 닫고 시스템을 다시 시작합니다.
이 기사의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.
Linux가 죽일 수 없으면 어떻게 해야 하나요?
Linux에서 kill -9 pid를 사용하여 프로세스를 강제로 종료할 수 없는 이유
오늘 클러스터를 설치해 보니 프로세스가 항상 존재하고 kill -9 pid로 종료할 수 없다는 것을 알았기 때문에 나는 그 이유를 찾아보았다.
kill -9는 SIGKILL 신호를 보내 종료하지만 다음 두 가지 상황은 작동하지 않습니다.
a 프로세스가 "Zombie" 상태입니다(사용되지 않는 프로세스를 반환하려면 ps 명령을 사용하세요). 이 시점에서 프로세스는 모든 리소스를 해제했지만 아직 상위 프로세스에서 확인되지 않았습니다. "좀비" 프로세스는 다음에 재부팅할 때까지 사라지지 않지만 그 존재는 시스템 성능에 영향을 미치지 않습니다.
b. 프로세스가 "커널 모드"에 있으며 사용할 수 없는 리소스를 기다리고 있습니다. 코어 상태의 프로세스는 모든 신호 처리를 무시하므로 코어 상태였던 이러한 프로세스는 시스템을 다시 시작해야만 구현할 수 있습니다. AIX에서는 프로세스가 사용자 모드와 커널 모드라는 두 가지 상태에 있습니다. 사용자 모드의 프로세스만 "kill" 명령으로 종료할 수 있습니다.
top 명령어를 사용하여 좀비 프로세스의 개수가 0인지 확인합니다. 이 세 프로세스는 좀비 프로세스가 아닌 것으로 보입니다. 즉, 이들 프로세스가 코어 상태에 진입하여 대기하는 상황이어야 합니다. 디스크 리소스의 경우 디스크 공간이 부족합니다. 이때 데이터베이스를 강제로 닫았기 때문에 이러한 프로세스는 코어 상태에 있었고 다시 시작할 수만 있는 것 같습니다.
추천 학습: "linux 비디오 튜토리얼"
위 내용은 리눅스가 죽일 수 없다면 어떻게 해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!