shell script里面判断某个程序是否还在运行

下面就是在shell script里面判断某个程序是否还在运行:


export  PROCESS_PID=/****/****.pid     ---------------------------在某一个目录下定义一个文件用来存储进程号
export LOG_FILE=/****/***.log    -------------定义一个log 文件

 

#=============================================
# Ensure that the service is not running
#=============================================
CURR_PID=$$
CURR_PROCESS_NAME=`ps -f -p $CURR_PID|grep $USER_ID|awk '{print $8, " ", $9}'`


# Read the process ID from the file
grep -i 'PROC PID' $PROCESS_PID 2>/dev/null |cut -f2 -d"=" | read pid


# Check if process is still running
if [ "$pid" ]; then
  ps -f -p $pid|grep $USER_ID|grep "`echo $CURR_PROCESS_NAME`" > /dev/null 2>&1
  if [[ $? = 0 ]]; then
    echo "Warning: Existing process $pid found. Aborting current process... " >> $LOG_FILE
    exit
  fi
fi
(echo "PROC PID = "$CURR_PID > $PROCESS_PID) >> $LOG_FILE 2>&1 ---如果改进程没有运行则将之写入文件
if [[ $? = 0 ]]
then
        echo "Process $CURR_PID started!!/n" >> $LOG_FILE
fi

这样可以防止一个程序可能多个运行的情况发生。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值