我知道这个问题已经被问到了,但是我不明白答案或者不适用于我。
我有一个PHP脚本,我打电话每1分钟使用CPanel设置Cron作业。 脚本的性质意味着它可能会超过一分钟,所以如果第一个脚本没有完成,我需要知道如何停止下一个脚本。
我有一台运行CENTOS 5.5的VPS,可以访问WHM和CPanel。 我以前从来没有用过Linux(昨天才刚刚拿到服务器),所以我不知道我在做什么,如果可能的话,将不胜感激。 如果我需要提供更多的信息,请让我知道(我不知道你现在需要什么信息)。
谢谢。
请参阅stream程pipe理 。 您可能会想要使用locking文件。 例如,你可以使用flock
。
为什么你不能让你的工作完成?
你的问题说“我不明白答案,或不适用于我”,但你不以什么方式说。 请更具体一点。
使用bash脚本作为您的cron作业
cron.sh
#!/bin/bash $lockfile=/tmp/lock.file if [ ! -e $lockfile ]; then touch $lockfile php /path/to/php/script.php rm $lockfile else echo "script already running" fi
我很好奇,如果执行与PS的东西将解决这个问题。 简单的ps -e | grep script_name.php | awk '{print $4}'
ps -e | grep script_name.php | awk '{print $4}'
ps -e | grep script_name.php | awk '{print $4}'
就足够了吗? 它肯定会告诉你,如果脚本正在运行,不需要检查是否有人事先杀死它。 如何创build和删除locking文件比这更好/更快?
我不确定,只是想知道利弊。 谢谢