• 10526阅读
  • 7回复

QProcess终止外部程序 [复制链接]

上一主题 下一主题
离线speaker424
 
只看楼主 倒序阅读 楼主  发表于: 2009-08-31
已经用QProcess::start开始了一个外部程序,如何利用QProcess终止外部程序,因为我用kill不好使
离线iiiyyyhhhsss

只看该作者 1楼 发表于: 2009-08-31
怎么不好使呢?
离线speaker424
只看该作者 2楼 发表于: 2009-09-02
用kill中止不掉,不知道为什么
离线duduqq

只看该作者 3楼 发表于: 2009-09-02
LInux的命令:
kill(m_pProcRecord->pid(),SIGUSR1) ;

kill(m_pProcRecord->pid(),SIGTERM) ;
离线sdh-bing
只看该作者 4楼 发表于: 2009-09-02
你用的QProcess::start是不是静态函数阿,如果是的话,那么它调用外部进程之后就直接撒手不管了,也就是说他们毫无关系了。
试试创建一个QProcess实例,用它来start和kill
离线jenny16
只看该作者 5楼 发表于: 2010-06-08
回 2楼(speaker424) 的帖子
就是,我在使用KIll()时,也杀不死进程,不知道为什么?我使用的命名是:myprocess.kill().
离线tulip0425

只看该作者 6楼 发表于: 2010-06-08
你可以试下将你的程序运行在后台,然后直接在命令行中kill掉你要kill的程序,如果可以,那么你可以尝试用qt调用shell来kill,不过有点麻烦

我直接用的QPocess的kill一般都可以的
离线jenny16
只看该作者 7楼 发表于: 2010-06-08
回 6楼(tulip0425) 的帖子
我已经试了,但是用shell的kill命令的参数必须是QStringList类型,而我调用QProcess的函数kill()得到的是Q_PID 类型,所以调用shell的kill命令还是有点问题。我强制转换了也还是有问题。
[ 此帖被jenny16在2010-06-08 15:28重新编辑 ]
快速回复
限100 字节
 
上一个 下一个