我正在与一些人合作tail -f path/to/my/log/file | grep pattern&
,我需要尽快终止这个过程。使用 classic 时kill {tail PID}
,tail 仍然显示其缓冲区,并且需要大约 12 秒(在我的设置中)才能使 tail 完全静音。
kill %{job id}
然而,当我用(略多于一秒)杀死它时,它要快得多。
调用kill {tail PID}
and有什么不同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
与kill %{job 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 终止作业时,您也终止了尾部并终止了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 ......