在另一个终端中运行进程

发布于 2024-11-04 09:45:21 字数 348 浏览 0 评论 0原文

我实际上是使用 Popen 从 python 程序运行子进程

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

上运行时,我们可以使用Ctrl+C杀死它,有没有办法使用(Ctrl+Zfg,...) 恢复并继续作业? 另一种解决方案是在另一个终端中运行此进程,而不使用 xterm -e 这可能吗? 任何其他解决方案都会有帮助。 谢谢

I'm actually running a subprocess from a python program using Popen

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

And when this process is running on xterm, we can kill it using Ctrl+C, is there a way to send other signals using (Ctrl+Z and fg,...) to resume and continue the job?
Another solution would be running this process in another terminal, without using xterm -e is this possible?
Any other solution would be helpful.
Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

筱武穆 2024-11-11 09:45:21

您可以在 psutil 中以编程方式执行此操作

import psutil
p = psutil.Pocesss(proc.pid)
p.suspend()
p.resume()

You could do it programatically in psutil

import psutil
p = psutil.Pocesss(proc.pid)
p.suspend()
p.resume()
在你怀里撒娇 2024-11-11 09:45:21

使用Python2.6+

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

With Python2.6+

# send ctrl+c
popen.send_signal(signal.SIGINT)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文