我有一个监听jabber服务器并相应响应的脚本。虽然它不应该停止,但昨晚它确实如此。现在我想每分钟运行一个cron作业来检查脚本是否正在运行,如果没有则启动它。
问题是,如何检查特定脚本是否仍在运行?
已发布一些解决方案here,但这些都是针对Linux的,而我正在寻找Windows解决方案。有什么想法吗?感谢。
答案 0 :(得分:4)
快速而肮脏的解决方法可能是脚本更新数据库中的行,并将日期列设置为CURRENT_TIMESTAMP。让cron第二个脚本检查此行的时间戳是否是最近的。
答案 1 :(得分:0)
这是我通常做的事情:
但是,这里存在一个问题:如果脚本死了并且没有删除状态文件怎么办?
你可以像这样添加一点保存检查:
答案 2 :(得分:0)
我遇到了同样的问题,我用这段代码解决了:
file_put_contents("status.txt","ping");
我把它放在我脚本的循环中
所以,我检查文件的最后修改日期以查看脚本是否处于活动状态
不要让HD过载,你可以这样做:
$i++
if( $i%100 == 0)
file_put_contents("status.txt","ping");
这将在$ i == 100或200或300等时编写文件...
这是一种解决方法