【发布时间】:2015-04-05 02:01:15
【问题描述】:
我想要一个 cronjob 来检查我的 .pl 程序是否在运行之前运行。 我创建了一个 ms1000.sh 程序。
#!/bin/sh
# check MSSocket1000 process
ps -ef | grep -v grep | grep MSSocket1000.pl
# if not found - equals to 1, start it
if [ $? -eq 1 ]
then
perl /home/application/MSSocket1000.pl &
else
echo "MSSocket2000 is running..."
fi
然后在我的 crontab 中
55 09 * * * /home/application/ms1000.sh
尝试了很多次,但它似乎没有运行 MSSocket1000.pl,即使我通过 ps -ef|grep MSSocket1000.pl 检查它也没有运行。
想知道我做错了什么。 谢谢。
【问题讨论】:
-
你可能需要使用 perl 的完整路径?
-
你确定每次
$?都是1吗?我认为你可以使用这样的。$? -gt 0。只是一个建议。