提案通り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
2番目のプロセスを分離するには、次のようにグループ化する必要があります。
$ ( nc -lkU ~/.assistantfifo | assistant -enableRemoteControl ) &
それ以外の場合は動作しません。これら2つのプロセスを分離するには中括弧が必要です。