제목에서 알 수 있듯이 Google은 나에게 아무것도 제공하지 않으며 이 서버에서 테스트할 수 없습니다.
명령은 다음과 같습니다.
tail -f <file> | fgrep --line-buffered "string" | sed -u 's/stuff//g' >> output.log
kill -SIGTERM <PID>
을 사용 하거나 kill -SIGKILL <PID>
중지 해야 합니까 tail -f
?
답변1
- SIGTERM은 명령에 신호를 보내고 명령이 스스로 중지하도록 지시합니다. kill로 인해 파일을 정리해야 하는 경우 명령을 사용하면 됩니다.
- SIGKILL은 init 시스템에 신호를 보냅니다. 명령 자체는 죽을 것이라는 말조차 듣지 않습니다.
따라서 둘 다 사용할 수 있습니다. 그러나 SIGTERM이 선호되어야 합니다(더 우아합니다).
"kill -SIGTERM"이 "tail -f"를 중지합니까?
예, 그럴 것입니다. Linux에서 tail은 SIGTERM에서 작동합니다.
답변2
를 사용할 필요도 없습니다 SIGTERM
. 그리고 도 tail
듣습니다 . 신호 사이에 차이가 있는지는 잘 모르겠지만(모두 에 국한됨 ) 이들 중 어느 것이든 .SIGINT
SIGQUIT
tail
SIGKILL
테스트하는 것도 매우 쉽습니다.
$ tail -f /dev/null > /dev/null &
[1] 26599
$ kill -SIGINT $!
[1]+ Interrupt tail -f /dev/null > /dev/null