#检查PID文件是否存在,以及对应的进程是否还在运行
is_already_running(){
#检查文件是否存在
if [ ! -f $pid_file ];then
log_ "pid file does not exist"
return 0
fi
#文件存在,判断记录的进程ID是否还存活
pid=`cat $pid_file | head -n 1`
log_ "pid="$pid
if [ $pid == "" ];then
log_ "blank pid file"
rm -rf $pid_file
return 0
fi
kill -0 $pid 2>&1 >/dev/null
result=$?
log_ "result of kill -0 "$pid" = "$result
if [ $result -eq 0 ];then
return 1
fi
return 0
}
main(){
#检查是否已经有在跑,有的话直接退掉
is_already_running
result=$?
if [ $result -eq 1 ];then
log_ "service already running, exiting."
exit 0
fi
log_ "starting service..."
echo $$ >$pid_file
#干点其他的
}