当前位置: 技术问答>linux和unix
由同一进程不可运行两次,,惹出的子shell问题
来源: 互联网 发布时间:2015-12-27
本文导语: 以下是CronTab_6.sh的文件内容 export pname=CronTab_6.sh ps -ef|grep "$pname"|grep -v grep>ps6.txt runningtimes=`wc -l ps6.txt|awk '{print $1}'` if [ "$runningtimes" -gt 1 ] then 发邮件警告 exit else 运行主程...
以下是CronTab_6.sh的文件内容
export pname=CronTab_6.sh
ps -ef|grep "$pname"|grep -v grep>ps6.txt
runningtimes=`wc -l ps6.txt|awk '{print $1}'`
if [ "$runningtimes" -gt 1 ]
then
发邮件警告
exit
else
运行主程序
fi
CronTab_6.sh运行第1次时
有时ps6.txt里出现
datateam 20374 14585 0 19:14 pts/2 00:00:00 /bin/bash ./CronTab_6.sh
datateam 20377 20374 0 19:14 pts/2 00:00:00 /bin/bash ./CronTab_6.sh
郁闷阿
export pname=CronTab_6.sh
ps -ef|grep "$pname"|grep -v grep>ps6.txt
runningtimes=`wc -l ps6.txt|awk '{print $1}'`
if [ "$runningtimes" -gt 1 ]
then
发邮件警告
exit
else
运行主程序
fi
CronTab_6.sh运行第1次时
有时ps6.txt里出现
datateam 20374 14585 0 19:14 pts/2 00:00:00 /bin/bash ./CronTab_6.sh
datateam 20377 20374 0 19:14 pts/2 00:00:00 /bin/bash ./CronTab_6.sh
郁闷阿
|
用pid文件比较常见,用一个文件保存进程pid。
运行时, 检查pid文件在不在,
不在,建立并保存pid到该文件
pid文件在,检查进程在不在,
在, 退出
不在, 建立并保存pid到该文件
继续 执行程序
结束时 删除pid文件
运行时, 检查pid文件在不在,
不在,建立并保存pid到该文件
pid文件在,检查进程在不在,
在, 退出
不在, 建立并保存pid到该文件
继续 执行程序
结束时 删除pid文件
|
是由cpu时间片切换引起的