在另一个终端运行一个进程

时间:2011-04-30 13:58:21

标签: python subprocess signals xterm

我实际上正在使用Popen

从python程序运行子进程

proc= subprocess.Popen("xterm -e python script.py", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

当此过程在xterm上运行时,我们可以使用Ctrl+C将其终止,有没有办法使用(Ctrl+Zfg,...)发送其他信号恢复并继续工作? 另一种解决方案是在另一个终端中运行此过程,而不使用xterm -e这可能吗? 任何其他解决方案都会有所帮助 感谢

2 个答案:

答案 0 :(得分:1)

您可以在psutil

中以编程方式执行此操作
import psutil
p = psutil.Pocesss(proc.pid)
p.suspend()
p.resume()

答案 1 :(得分:0)

使用Python2.6 +

# send ctrl+c
popen.send_signal(signal.SIGINT)