脚本进程唯一性检查

#唯一性检查
CheckUnique()
{
    pidfile=${filename}.pid #filename为需要检测脚本的文件名
    if [ -f ${pidfile} ]; then
        pid=`cat ${pidfile} | cut -d' ' -f1`
        pid_count=`ps -ef | grep -v grep | awk '{ if ($2==pid) print $0; }' pid=$pid |wc -l`
        if [ ${pid_count} -ne 0 ];then
	    PrintPrompt "This shell script is running, exit 1."
            exit 1
        fi
    fi
    echo "$$ $(date +'%Y-%m-%d %H:%M:%S')" > ${pidfile}
}

基本思路:用${filename}.pid存储脚本本次进程的PID。待下一次脚本运行时,读取${filename}.pid存储的PID,与当前系统中所有进程的PID比对。若存在,则进程已存在;否则。进程不存在。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值