您可以执行以下操作:
import subprocess as subimport threadingclass RunCmd(threading.Thread): def __init__(self, cmd, timeout): threading.Thread.__init__(self) self.cmd = cmd self.timeout = timeout def run(self): self.p = sub.Popen(self.cmd) self.p.wait() def Run(self): self.start() self.join(self.timeout) if self.is_alive(): self.p.terminate() #use self.p.kill() if process needs a kill -9 self.join()RunCmd(["./someProg", "arg1"], 60).Run()
想法是创建一个运行该命令的线程,如果超时超过某个合适的值(在这种情况下为60秒),则将其杀死。



