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