x개 미만의 프로세스가 실행 중인지 감지하는 방법

x개 미만의 프로세스가 실행 중인지 감지하는 방법

ADM 프로세스가 중단되었는지 확인하기 위해 쉘 스크립트를 작성해야 하며 이메일을 통해 알림을 받아야 합니다. 아래 스크립트를 사용하여 이 작업을 수행했습니다. 컴퓨터에 ADM 서버를 설치하면 제대로 작동합니다. 내 문제는 한 시스템에 3개의 ADM 서버가 설치되어 있는데 이 상황에서 경고를 트리거하는 쉘 스크립트를 작성하는 방법을 잘 모르겠다는 것입니다.

스크립트:-

export ADM =`ps -ef  | grep Adm | grep -v grep | wc -l`

if [ $ADM == 0 ];
then
    echo "AdmServer is down on Dev $hostname" | mail -s xxxx.gmail.com
fi

Adm1, Adm2 또는 Adm3이 실패할 때마다 경고를 받아야 합니다.

답변1

스크립트는 현재 찾을 수 있는 ADM 프로세스 수를 계산하며, 수가 0이면 현재 이메일을 보냅니다.

새로운 기준은 개수가 3이어야 한다는 것이므로 개수가 0 또는 1 또는 2이면 이메일을 보내려는 것입니다.

3번째 줄을 바꿔야 합니다.

if [ $ADM -lt 3 ];

답변2

[ 3 -gt "$(ps -Aocomm=|grep -c ADM)" ] &&
mail -s xxxx.gmail.com <<MAIL
AdmServer is down on Dev $hostname
MAIL

위의 명령이 귀하의 명령 대신 작동해야 한다고 생각합니다.

관련 정보