pid를 파일에 등록한 후 bash 스크립트에서 exec를 사용하십시오.
예:
args p1, p2, p3으로 실행하려는 "forever.sh"라는 스크립트가 있다고 가정하십시오.
forever.sh 소스 코드 :
#!/bin/sh
while [ 1 -lt 2 ] ; do
logger "$0 running with parameters \"$@\""
sleep 5
done
reaper.sh를 작성하십시오.
#!/bin/sh
echo $$ > /var/run/$1.pid
exec "$@"
reaper.sh를 통해 forever.sh를 실행하십시오.
./reaper.sh ./forever.sh p1 p2 p3 p4 &
forever.sh는 5 초마다 syslog에 행을 기록하는 것 이상을 수행하지 않습니다.
이제 /var/run/forever.sh.pid에 pid가 있습니다.
cat /var/run/forever.sh.pid
5780
forever.sh가 실행 중입니다. syslog grep :
Nov 24 16:07:17 pinkpony cia: ./forever.sh running with parameters "p1 p2 p3 p4"
프로세스 테이블에서 볼 수 있습니다.
ps axuwww|grep 'forever.sh p1' |grep -v grep
root 5780 0.0 0.0 4148 624 pts/7 S 16:07 0:00 /bin/sh ./forever.sh p1 p2 p3 p4