我正在尝试使用我的网页上的exec()函数执行.exe文件。它有时会进入无限循环,并且.exe文件永远不会被终止,从而阻止我的php页面继续进行。
exec('CodeFile.exe 1>temp\\OutputFile.txt<temp\\InputFile.txt');
unlink('CodeFile.exe');
任何人在进入无限循环时能否帮助我结束这个过程?
我正在使用在Windows 10上运行的XAMPP
答案 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的建议。