【发布时间】:2021-09-18 16:58:56
【问题描述】:
我每分钟通过一个 sh 文件从 cronjob 运行一个 php yii2 cron,所以如果前一个作业在一分钟内没有完成,那么它不会执行超过 1 次。但我的问题是,它卡住了一段时间,我必须手动终止这个过程。如果 cronjob 从过去 30 分钟开始运行,我怎么能杀死它。 目前我的 sh 文件如下:
if ps -ef | grep -v grep | grep cron/my-cron-action; then
exit 0
else
php /home/public_html/full-path-to-project/yii cron/my-cron-action
exit 0
fi
【问题讨论】:
-
一个快速的想法是,您可以将 PID 文件放在某个地方(例如
/var/run),然后让您的文件检查其上的创建时间戳并杀死任何超过 30 分钟的内容。