Artificial intelligent assistant

Output of one command is piped to another one; how to close both? I call Qt Assistant like suggested on stackoverflow: nc -lkU ~/.assistantfifo | assistant -enableRemoteControl & Qt Assistant window is opened, and if I call `jobs`, it returns: [1] + running nc -lkU ~/.assistantfifo | assistant -enableRemoteControl Then, I close Qt Assistant (just by clicking at "x"). Now, `jobs` returns: [1] + running nc -lkU ~/.assistantfifo | done assistant -enableRemoteControl So, `nc` continues working, and I have to type `killall nc`. How to make `nc` finish too, when I close Qt Assistant? Or, probably I should do this somehow different?

The command you are running (`nc` a.k.a. `netcat`) will listen for input when run with the `-l` flag. Normally, netcat in listen mode will close when it receives the end-of-file character, but the `-k` flag prevents that. In other words, netcat won't close until you kill it because of the way you invoked the command.

See the man page for more info.

xcX3v84RxoQ-4GxG32940ukFUIEgYdPy f4e45fbaca384a87828ae14c1e26699e