我用 C++ 运行一个外部程序:
_wsystem(exec);
如果进程运行超过 n 秒,我想终止它。我可以在 Python 中这样做:
p = subprocess.Popen(self.temp_exec, shell=True)
cur_time = 0.0
while cur_time < self.time_limit:
if p.poll() != None:
# Kill the process
p.terminate()
break
time.sleep(0.1)
cur_time += 0.1
在 C++ 中,p.poll() 和 p.terminate() 的替代方案是什么?
谢谢
附言也欢迎涉及 WinAPI 的解决方案。
最佳答案
有一个MS knowledge base entry描述如何干净地终止应用程序。本质上,如果您只想终止进程而不关心潜在的副作用,那么您可以使用 TerminateProcess
。
检查进程是否仍在运行的 Windows API 方法是 GetExitCodeProcess
。
关于python - C++:如何检查外部程序是否正在运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5482447/