给定一个外部程序,在本例中是python target.py
:
目标.py
import time, itertools
A = itertools.count()
while True:
time.sleep(.1)
print A.next()
我正在寻找一种运行该命令的方法,我们可以假设我除了启动和停止之外无法控制该命令 5 秒钟。那时,我想暂停执行(类似于control-Z
在linux(我的目标平台)上,运行一些内部代码,然后继续执行子进程。到目前为止我已经
读者.py
import subprocess, signal, time
cmd = "python target.py"
P = subprocess.Popen(cmd,shell=True)
while True:
time.sleep(5)
signal.pause(P) # Not the correct way to suspend P
print "doing something"
signal.wakeup(P) # What is called here?
您还可以使用 psutil 并避免看起来可怕的 os.kill:
import psutil, time, subprocess
cmd = "python target.py"
P = subprocess.Popen(cmd,shell=True)
psProcess = psutil.Process(pid=P.pid)
while True:
time.sleep(5)
psProcess.suspend()
print 'I am proactively leveraging my synergies!'
psProcess.resume()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)