使用php终止在后台运行的进程

时间:2016-06-28 18:44:11

标签: php shell cmd

我正在尝试使用我的网页上的exec()函数执行.exe文件。它有时会进入无限循环,并且.exe​​文件永远不会被终止,从而阻止我的php页面继续进行。

exec('CodeFile.exe 1>temp\\OutputFile.txt<temp\\InputFile.txt');
unlink('CodeFile.exe');

任何人在进入无限循环时能否帮助我结束这个过程?

我正在使用在Windows 10上运行的XAMPP

2 个答案:

答案 0 :(得分:0)

由于CodeFile.exe是一个由您控制的程序,我将专注于首先修复它。除极少数情况外,无限循环不代表预期或期望的行为。寻找超时选项相当于“在地毯下扫除问题。”

显然,CodeFile.exe是这个过程中的重要一步,否则你就不会编写它并使其成为你的架构的一部分。您的意图是在完成任何后续处理之前完成。因此,如果偶尔会跑掉并且永远不会结束,你怎么能从一个破碎和未知的状态继续下去?

答案 1 :(得分:0)

    exec('CodeFile.exe 1>temp\\OutputFile.txt<temp\\InputFile.txt & timeout /t 10 & taskkill /im CodeFile.exe /f');
    unlink('CodeFile.exe');

这对我有用。:)谢谢@Charlie Hills和@FirstOne的建议。