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 (将#修改为@)