Php 关于exec()函数和时间

Php 关于exec()函数和时间,php,time,exec,limit,Php,Time,Exec,Limit,我将首先显示一些代码: echo exec(“compile\\save.exe untitle.c tmpunthilled.c”) 我有一个程序,名为save.exe,我想知道它是否已经停止了? 如果停止,好的。。。做点什么… 如果不是,则可能是错误或循环 现在:我想用同样的方法来控制程序使用的时间,并设置一个限制(超过时间限制,类似这样的事情…) 有人有建议吗 编辑[1]:save.exe是一个用C语言编写的程序,使用两个参数:source和destiny。 popen只是不执行save

我将首先显示一些代码:

echo exec(“compile\\save.exe untitle.c tmpunthilled.c”)

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

如果不是,则可能是错误或循环
现在:我想用同样的方法来控制程序使用的时间,并设置一个限制(超过时间限制,类似这样的事情…)

有人有建议吗




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

exec()
将在exec程序运行时挂起脚本。控件仅在外部程序终止时返回。如果您想查看程序是否挂起或等待输入或类似情况,可以使用,它返回一个文件句柄,您可以从中读取程序的输出。此时,您可以执行轮询循环以查看是否有任何输出:

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

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

如果您想将某些内容作为输入发送到应用程序,则必须使用,这样可以在脚本和外部程序之间进行双向通信。

Exec不会这样做。使用
popen
,这是异步的。另请参阅stream\u select以强制执行时间限制。