Job-Control

“kill %{job id}”與“kill {job pid}”

  • September 9, 2021

我正在和一些人一起工作tail -f path/to/my/log/file | grep pattern&,我需要盡快終止這個過程。使用 classickill {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

當您使用 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

當然它也導致殺死尾巴 -f ……

引用自:https://unix.stackexchange.com/questions/667180