셸 스 크 립 트 - 정기 적 으로 좀 비 프로 세 스 정리 (임시 해결 방법)
좀 비 프로 세 스 는 exit 시스템 을 통 해 호출 되 거나 실 행 될 때 치 명 적 인 오류 가 발생 하거나 종료 신 호 를 받 은 것 을 말 합 니 다. 그러나 운영 체제 프로 세 스 표 에는 '종료 상태' 에 있 는 표 항목 이 있 습 니 다.이 는 하위 프로 세 스 가 하위 프로 세 스 를 읽 을 수 있 도록 표 항목 을 유지 해 야 하 는 exit status 에서 발생 합 니 다. 종료 상태 가 wait 시스템 호출 을 통 해 읽 으 면 좀 비 프로 세 스 항목 은 프로 세 스 표 에서 삭 제 됩 니 다. 이 과정 은 reap 이 라 고 합 니 다.정상 적 인 상황 에서 프로 세 스 는 아버지 프로 세 스 wait 에 의 해 직접 회수 되 고 시스템 에 의 해 회수 되 며 프로 세 스 가 장시간 좀 비 상 태 를 유지 하 는 것 은 잘못 되 고 자원 이 누 출 됩 니 다.이 서버 에 서 는 top 명령 을 실행 하면 zombie 항목 의 데이터 가 0 이 아 닌 것 을 볼 수 있 습 니 다.
실제 응용 프로그램 에서 kill 명령 은 좀 비 프로 세 스 에 유효 하지 않 습 니 다.좀 비 프로 세 스 가 reap 되면 프로 세 스 번호 와 프로 세 스 표 에 있 는 표 항목 을 시스템 에서 다시 사용 할 수 있 습 니 다.그러나 부모 프로 세 스 가 wait 를 호출 하지 않 으 면 좀 비 프로 세 스 는 프로 세 스 표 의 표 항목 을 유지 하여 자원 이 누 출 됩 니 다.reap 좀 비 프로 세 스 는 kill 명령 을 통 해 부모 프로 세 스에 SIGCHLD 신 호 를 수 동 으로 보 내 는 방식 입 니 다. 부모 프로 세 스 가 reap 좀 비 프로 세 스 를 거부 하면 부모 프로 세 스 를 종료 하고 init 프로 세 스 가 좀 비 프로 세 스 를 입양 하도록 합 니 다.init 프로 세 스 주기 에 wait 시스템 이 입양 한 모든 좀 비 프로 세 스 를 호출 합 니 다.
좀 비 배치 프로 세 스 청소 스 크 립 트 열기
1. 좀 비 프로 세 스 검사 스 크 립 트 작성
vi killall_zombie.sh
다음 내용 을 입력 하 십시오:
#!/bin/bash
zombie_check=`ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]'`
if [ -n "$zombie_check" ];
then
echo "Start to handle the z0mbie!!!!!"
for i in `ps aux |grep -w Z |grep -v grep |awk '{print $2}'`
do
`ps -ef |grep $i |grep defunct|awk '{print "kill -9 " $2 " "$3}'`
done
else
echo "There is no zombie !!!!!"
fi
저장 종료.
2. 정시 설정 퀘 스 트 추가
예제: 스 크 립 트 이름 killzombie. sh, 스 크 립 트 위 치 는/data/scripts/이 며, 주파 수 는 한 시간 에 한 번 씩 검 측 (시간, 스 크 립 트 위 치 는 스스로 수정 하 십시오) crontab - e
0 */1 * * * /shells/kill_zombie.sh
저장 종료.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.