我按照建议调用 Qt Assistant堆栈溢出:
nc -lkU ~/.assistantfifo | assistant -enableRemoteControl &
Qt Assistant 窗口打开,如果我调用jobs
,它返回:
[1] + running nc -lkU ~/.assistantfifo | assistant -enableRemoteControl
然后,我关闭 Qt Assistant(只需单击“x”)。现在,jobs
返回:
[1] + running nc -lkU ~/.assistantfifo |
done assistant -enableRemoteControl
所以,nc
继续工作,我必须输入killall nc
。
nc
当我关闭Qt Assistant时,如何完成?或者,也许我应该采取不同的做法?
答案1
您正在运行的命令(nc
又名netcat
)将在使用该标志运行时监听输入-l
。通常,侦听模式下的 netcat 在收到文件结束字符时将关闭,但该-k
标志阻止了这种情况。换句话说,由于调用命令的方式,netcat 在您将其杀死之前不会关闭。
请参阅手册页了解更多信息。
答案2
如果你想分离第二个进程,你还需要将它们分组为
$ ( nc -lkU ~/.assistantfifo | assistant -enableRemoteControl ) &
否则它不会工作。需要使用大括号来分离这两个过程。