
私は何人かの人々と協力していますが、tail -f path/to/my/log/file | grep pattern&
できるだけ早くプロセスを終了する必要があります。 classicを使用すると、kill {tail PID}
tailはまだバッファを表示し、tailを完全に沈黙させるのに約12秒かかります(私の設定では)。
kill %{job id}
しかし、(約1秒ほど)終了するとはるかに速くなります。
これらの電話とのkill {tail PID}
違いは何ですかkill %{job id}
?
いくつかのサンプル:
01/09/2021 15:45:29:670:kill {tail PID}
...
01/09/2021 15:45:39:232: {some log}
01/09/2021 15:45:39:232: {some log}
01/09/2021 15:45:39:232: {last log line}
takes around 10 seconds to fully shutdown
%{タスクID}終了:
01/09/2021 10:56:57:793 -> (COM12<):kill %{tail job ID}
...
01/09/2021 10:56:58:966 -> (COM12>):[root@my_board ~]#
takes 1 sec to fully shutdown
答え1
kill%6でジョブを終了すると、tailも終了し、grepも終了します。
tail -f /var/log/mintupdate.log|grep ez&
[6] 3368377
3368377を終了すると、grepプロセスのみが終了します。
3368376 pts/6 S 0:00 tail -f /var/log/mintupdate.log
3368377 pts/6 S 0:00 grep --color=auto ez
もちろん、tail -fも終了します。