查看完整版本: [-- 有没有可以模拟开启多个终端,用来运行多个程序并且可以在运行后继续输入命令的工具或方法啊 --]

QTCN开发网 -> Qt基础编程 -> 有没有可以模拟开启多个终端,用来运行多个程序并且可以在运行后继续输入命令的工具或方法啊 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

哈哈aaaa 2021-02-26 17:23

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

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

liudianwu 2021-02-27 15:34
qprocess

哈哈aaaa 2021-03-01 17:27
liudianwu:qprocess (2021-02-27 15:34) 

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

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

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

我怎么记得父进程关闭子进程一桶关闭呢

哈哈aaaa 2021-03-03 12:47
suzhuorui:我怎么记得父进程关闭子进程一桶关闭呢 (2021-03-03 09:53) 

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

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

他fork了然后detach掉了呗。。。。。从你这边直接无解


查看完整版本: [-- 有没有可以模拟开启多个终端,用来运行多个程序并且可以在运行后继续输入命令的工具或方法啊 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled