클론에서 쉘을 이용해서 자바데몬 띄울려고 합니다..
안녕하세요....
클론에서 쉘을 이용해서 자바 데몬을 띄울려고 합니다.. 그런데 계속 쉘이 좀비가 되고 있습니다.
이전에 댓글에서는 부모쪽에서 종료시그널을 기다리거나 무시하게 하라고 하던데.. 부모가
클론이 되어 버리니(제대로 이해하고 한건지, 쉘에서 trap '' SIGCHLD으로 SIGCHLD 무시하게 했지만 같아서.)
다음은 해당 쉘 소스입니다.
!/bin/sh
source /etc/profile
processName[0]="P_aaa"
processName[1]="P_bbb"
paths[0]="/data/local/JavaServer/aaa"
paths[1]="/data/local/JavaServer/bbb"
index=0
while [ "$index" -lt "${#processName[*]}" ]
do
pid1=`ps ax | grep java | grep ${processName[$index]} | awk '{print $1}'`
lived=0
if [ -n "$pid1" ]
then
for pid2 in $( /sbin/pidof java )
do
if [ "$pid1" -eq "$pid2" ]
then
lived=1
fi
done
fi
if [ "$lived" -eq "0" ] #// if process is not running,.
then
cd ${paths[$index]}
nohup java ${processName[$index]} &
fi
index=`expr $index + 1`
done
exit 0
댓글 달기