셀프로그램에서 프로세스의 정보를 알려고 하는데...

koonpal의 이미지

셀프로그램으로 프로세스가 죽었는지 살았는지 확인하는 프로그램을 짤려고 하는데 초보라서 그런지 잘 모르겠네요...

도움을 주시면 감사하겠습니다...

chaos4chaos의 이미지

ps -ef|grep daemon|grep -v grep|wc -l

의 결과가 0이면 데몬이 죽은 것이겠지요..

이값을 이용하면

cnt=`ps -ef|grep daemon|grep -v grep|wc -l`
if [ $cnt = 0 ]
then
    $daemon_path/cmd
fi

해서 재실행 시킬 수 있습니다.

여기서 grep -v grep은 검색하는 grep 자체를 빼고 출력하라는 의미입니다.

다음을 nohup script &로 실행 하시믄 됩니다.

while [ 1 ]
do
        cnt=`ps -ef|grep daemon|grep -v grep|wc -l`

        if [ $cnt = 0 ]
        then
                for i in `who| grep groupid| awk '{print $2}'`
                do
                                                                                    
                echo Ome! Something Wrong!!!... > /dev/$i
                                                                                    
                done
                                                                                    
                rm ~/nohup.out
                break

        else
                sleep 60
        fi
done;

FOREVER_Ch@oS