现在我想,如果这个工作的一个实例正在运行,并且需要超过1分钟,每分钟后启动的新实例检查是否有任何以前的实例正在工作,并且有任何以前的实例正在运行,新的实例会自行终止。我正在尝试system()命令,但无法弄清楚。
任何提示
Powershell将variables传递给作业
c – Ncurses放置在后台时会停止进程
如果我处理了工作的一个窗口,如何处理工作
是否可以通过名称来pipe理JobObjects,而不必保持打开的HANDLE?
在Windows上安排作业
Shell脚本不能从cron作业执行
如何安排工作和在Linux中传递参数并行运行
为什么SIGHUP信号在成为孤立进程组时没有收到
在Windows上的cron作业的最佳途径
命令行应用程序在作业中运行进程
对锁定文件使用独占文件锁定。 只要进程结束执行,锁就会自动释放。
<?PHP $fp = fopen("/var/tmp/your.lock","w"); if (!flock($fp,LOCK_EX|LOCK_NB)) { // try to get exclusive lock,non-blocking die("Another instance is running"); } [... continue with the script ...]
请参阅: http : //www.PHP.net/manual/en/function.flock.PHP
有几个解决方案。 所有常见的事情是在作业开始时设置一个标志,当作业完成时清除标志。 在工作开始时检查该标志的存在。
在伪代码中:
if ( flag is set ) exit set flag do some stuff clear flag
例如,您可以创建一个文件作为您的标志。 或者您可以在memcache中创建一个密钥并将其用作您的标志。 或者一个数据库,或其他东西。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。