如何在新进程启动时终止以前的cronjob进程?

如何在新进程启动时终止以前的cronjob进程?,cron,wget,Cron,Wget,真不敢相信我在网站上还没有找到这个问题的答案 无论如何,我有一个cronjob任务,我想每三分钟运行一次。如果在3分钟后下一个启动时它还没有完成,我希望当前运行的那个被终止。不是新的等待。我必须启动新的,但必须杀死旧的。我该怎么做 这是我目前的代码: */3****wget-O/dev/nullhttp://mywebsite.com/wp-admin/admin-ajax.php?action=my_function 有人知道答案吗?粗而快的方法: 查看进程ID(PID) 修改进程以将其PID

真不敢相信我在网站上还没有找到这个问题的答案

无论如何,我有一个cronjob任务,我想每三分钟运行一次。如果在3分钟后下一个启动时它还没有完成,我希望当前运行的那个被终止。不是新的等待。我必须启动新的,但必须杀死旧的。我该怎么做

这是我目前的代码:

*/3****wget-O/dev/nullhttp://mywebsite.com/wp-admin/admin-ajax.php?action=my_function

有人知道答案吗?

粗而快的方法:

查看进程ID(PID)

修改进程以将其PID放入临时文件。如果您的进程名为fred,请调用文件/var/tmp/fredpid或类似的内容

这样,每次进程启动时,它都会检查是否存在已经存在的临时文件。当然,您必须对该功能进行编码,不要忘记确保进程在执行结束时删除临时文件

大致来说,步骤如下:

(1) 如果存在/var/tmp/fredpid,则从文件中snarf该PID

(2) 杀死在该PID下运行的旧进程

(3) 将当前PID放置在临时文件中

(4) 恢复工作

(5) 工作结束,移除/var/tmp/fredpid