如何检查php作业实例

awa*_*200 3 php linux jobs system process

在我的系统中,我已安排PHP作业每分钟运行一次.

现在我想,如果这个工作的1个实例正在运行,它需要超过1分钟,如果以前的任何实例工作的每一分钟检查后开始,有前面的实例运行,新的一个杀死自己的新实例..我正在尝试使用system()命令,但无法弄明白.

任何sugestions

var*_*tec 8

在锁定文件上使用独占文件锁.一旦进程结束执行,锁就会自动释放.

<?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 ...]
Run Code Online (Sandbox Code Playgroud)

请参阅:http://www.php.net/manual/en/function.flock.php