关于exec()函数和时间

时间:2010-08-12 16:59:11

标签: php time exec limit

我将首先展示一些代码:

echo exec("compile\\save.exe Untitled.c tmpUntitled.c");

我有一个名为save.exe的程序,我想知道它是否已经停止了? 如果停了,好的......做点什么......

如果没有,可能是错误或循环...
现在:我想构建相同的方法来控制程序使用的时间,并设置一个限制(时间限制超过,类似这样......)

有人有消化吗?




编辑[1]: save.exe是一个用C语言编写的程序,使用两个参数:source和destiny。
popen只是不执行save.exe,我这样说是因为它不再导致命运(exec它会发生);

1 个答案:

答案 0 :(得分:1)

当exec'd程序运行时,

exec()将暂停您的脚本。仅在外部程序终止时才会返回控制权。如果你想查看程序是挂起还是等待输入或者某些东西,你可以使用popen(),它返回一个文件句柄,你可以从中读取程序的输出。此时,您可以执行轮询循环以查看是否有任何输出:

$app = popen("your shell command here");

while($output = fgets($app)) {
   // handle output
   sleep(5); // sleep 5 seconds
}       

如果您想要将某些内容作为输入发送到应用,那么您必须使用proc_open(),这允许您的脚本和外部程序之间的双向通信。

相关问题