【发布时间】:2011-03-30 05:57:36
【问题描述】:
我用 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 的解决方案。
【问题讨论】:
-
您使用的是哪个平台?与 Python(以半可移植的方式为您抽象这些操作)不同,在 C 中,每个操作系统的执行方式都不同。
-
无赖,我对 Windows 的了解还不够,无法帮助您。但无论如何,我发布了一个 Unix 答案。 :-P
标签: python c++ windows external-process process-management