微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

BASH:在子Shell中执行命令,完成后退出

如何解决BASH:在子Shell中执行命令,完成后退出

在Windows上,我调用QProcess以使用bash.exe执行一些长时间处理的shell命令。我在后台执行命令以在需要时手动将其杀死(注意:这是来自Invoke bash.exe through QProcess: kill does not kill subprocess的后续问题):

(ping google.de -t) &

每当工作完成时,我想退出bash。我不能简单地打电话给

wait $! && exit

因为这阻塞了QProcess,所以我必须能够调用

process->write("kill %1");

在需要时。

我试图像这样链接退出命令

(ping google.de -t ; exit) &

,但是QProcess不会退出。不幸的是,kill都没有退出QProcess:

(ping google.de -t ; kill -9 $$) &

在子shell完成命令而又不阻塞父shell的情况下,如何终止bash / QProcess?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。