• 1563阅读
  • 5回复

[提问]有没有可以模拟开启多个终端,用来运行多个程序并且可以在运行后继续输入命令的工具或方法啊 [复制链接]

上一主题 下一主题
离线哈哈aaaa
 

只看楼主 倒序阅读 楼主  发表于: 2021-02-26
我要做的就是在一个QT程序中(ubuntu系统),进行模拟打开命令行终端的操作,执行命令,这个“终端”是要挂在后台一直运行的,因为后续还要继续在这个终端中输入命令。例如我在终端中输入“python”,然后再输入其他python程序指令,我要做的就是在QT程序中进行这种操作,并且是同时打开多个终端,分别执行不同的命令。如果只是执行一次性命令,网上大多都是说用system()就行了,我主要的问题就是命令行终端需要一直挂在后台,后续还要输入其他命令,这就不知道怎么搞了,望大神指教
离线liudianwu

只看该作者 1楼 发表于: 2021-02-27
qprocess
1条评分金钱+10
20091001753 金钱 +10 - 2021-02-27
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线哈哈aaaa

只看该作者 2楼 发表于: 2021-03-01
回 liudianwu 的帖子
liudianwu:qprocess (2021-02-27 15:34) 

使用Qprocess的close或者kill,只能关闭启动的程序的父进程,它的子进程怎么关啊

也就是我用qprocess启动了A,A又启动了B,我关闭的时候只有A关闭了,B仍然存在,这怎么办
离线suzhuorui

只看该作者 3楼 发表于: 2021-03-03
回 哈哈aaaa 的帖子
哈哈aaaa:使用Qprocess的close或者kill,只能关闭启动的程序的父进程,它的子进程怎么关啊
也就是我用qprocess启动了A,A又启动了B,我关闭的时候只有A关闭了,B仍然存在,这怎么办 (2021-03-01 17:27) 

我怎么记得父进程关闭子进程一桶关闭呢
离线哈哈aaaa

只看该作者 4楼 发表于: 2021-03-03
回 suzhuorui 的帖子
suzhuorui:我怎么记得父进程关闭子进程一桶关闭呢 (2021-03-03 09:53) 

后来我发现,他启动的B并不是A的子进程,B的父进程PID是1
可能是因为B进程是一个新的窗口,他的父进程是系统进程,B的子进程是我运行程序所需的,这……
离线fsu0413

只看该作者 5楼 发表于: 2021-03-03
回 哈哈aaaa 的帖子
哈哈aaaa:后来我发现,他启动的B并不是A的子进程,B的父进程PID是1[表情]
可能是因为B进程是一个新的窗口,他的父进程是系统进程,B的子进程是我运行程序所需的,这…… (2021-03-03 12:47) 

他fork了然后detach掉了呗。。。。。从你这边直接无解
快速回复
限100 字节
 
上一个 下一个