当前位置: 技术问答>linux和unix
求助(SHELL 脚本)进程的唯一性检查
来源: 互联网 发布时间:2015-12-26
本文导语: 以下代码,进程的唯一性检查 发现一个奇怪的问题,要是手工运行 ${result}的值为空,是正确的 要是服务器配置crontab拉起就不为空,出现 scu 2569 2564 0 13:02 ? 00:00:00 su - scu -c /tellin/scu/SCP-SER/bin/invchg.sh scu 2571 ...
以下代码,进程的唯一性检查
发现一个奇怪的问题,要是手工运行
${result}的值为空,是正确的
要是服务器配置crontab拉起就不为空,出现
scu 2569 2564 0 13:02 ? 00:00:00 su - scu -c /tellin/scu/SCP-SER/bin/invchg.sh scu 2571 2569 0 13:02 ? 00:00:00 -su -c /tellin/scu/SCP-SER/bin/invchg.sh
不知道什么原因,谢谢
----------------------------
pid=$$
ps -fu $LOGNAME > .$$.unl
result=`grep $1 .$$.unl|egrep -v "grep|${pid}|root|sh -c"`
rm -f .$$.unl
if [ "-${result}" != "-" ]; then
return 1
fi
return 0
发现一个奇怪的问题,要是手工运行
${result}的值为空,是正确的
要是服务器配置crontab拉起就不为空,出现
scu 2569 2564 0 13:02 ? 00:00:00 su - scu -c /tellin/scu/SCP-SER/bin/invchg.sh scu 2571 2569 0 13:02 ? 00:00:00 -su -c /tellin/scu/SCP-SER/bin/invchg.sh
不知道什么原因,谢谢
----------------------------
pid=$$
ps -fu $LOGNAME > .$$.unl
result=`grep $1 .$$.unl|egrep -v "grep|${pid}|root|sh -c"`
rm -f .$$.unl
if [ "-${result}" != "-" ]; then
return 1
fi
return 0
|
cron调用时候,产生一个特别的命令在系统进程表里
ps会列举这个进程,结果符合你的检查条件,造成你程序误判。
ps会列举这个进程,结果符合你的检查条件,造成你程序误判。