Windows Bat检查php脚本是否正在运行

时间:2011-05-10 01:39:51

标签: php windows batch-file

我正在使用bat在win2003调度程序上运行php。有没有办法检查进程并查看文件是否仍在运行。

3 个答案:

答案 0 :(得分:1)

你的批处理文件怎么样:(伪代码,因为它已经有一段时间了)

:makerandom
make som random var, microtime, whatever, we call it %x%
check if file exist, if it does, goto makerandom
call the script with %x% as argument
:check
if file exist %x% goto check
:done

在php脚本中:

create the file specified by the argument
... script here ...
delete the file

答案 1 :(得分:0)

在计划任务的.php文件中:使用getmypid()获取PHP进程的ID(PID)并将其保存到文件中。

下次调用.php文件时,使用$tasks = shell_exec('tasklist.exe');获取所有活动进程的列表,然后读取以前保存的PID并进行查找。

老实说,我不知道这是否是最佳解决方案。

答案 2 :(得分:0)

试用Sysinternals Process Utilities。

http://technet.microsoft.com/en-us/sysinternals/bb896682

pslist实用程序正是你需要的(给定一个pid告诉它是否正在运行设置一个env变量)

此致

PS:使用pslist我建议还要评估pskill实用程序