QProcess kill所有子进程

小灸舞 2020-06-15 01:58:27
程序是用QT的QProcess来启动python程序代码(会生成一个新的进程A)
python代码中用到了subprocess也会生成新的进程B
想达到的目的就是:同时关闭进程A和进程B
QT代码如下:
QProcess *my_process = new QProcess();
my_process->start("python test_process.py");

python代码如下:
import subprocess
import os
print('parent pid', os.getpid())
p=subprocess.Popen(['python', '-c', 'import time;time.sleep(100)'], shell=False)
print('child pid', p.pid)
p.wait()

遇到的问题就是:可以通过QT中的my_process->processId()来拿到进程A的PID,然后通过kill命令结束它,但是拿不到进程B的PID
有没有什么办法可以同时关闭进程A和进程B(不用PID的方法也可以)
...全文
464 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Qt_青橙 2020-10-19
  • 打赏
  • 举报
回复
我也遇到这个问题,不过我解决好了,在windows下使用taskkill命令,可以做到

65,184

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧