Será que “kill -SIGTERM” irá parar “tail -f”?

1

Assim como o título diz, o Google não me dá nada e não posso testá-lo neste servidor.

O comando como segue:

tail -f <file> | fgrep --line-buffered "string" | sed -u 's/stuff//g' >> output.log

Preciso usar kill -SIGTERM <PID> ou kill -SIGKILL <PID> para interromper um tail -f ?

    
por Roboman1723 18.12.2014 / 15:42

2 respostas

1
  • SIGTERM envia um sinal para o comando e diz ao comando para parar. Se houver necessidade de limpar arquivos devido ao kill, o comando pode fazer isso.
  • SIGKILL envia um sinal para o sistema init. O comando em si não é sequer dito que vai ser morto.

Então você pode usar os dois; mas SIGTERM deve ser preferido (é mais gracioso).

  

"kill -SIGTERM" irá parar "tail -f"?

Sim, será. Na cauda do Linux atua no SIGTERM.

    
por Rinzwind 18.12.2014 / 16:06
1

Você nem precisa usar SIGTERM . tail também escuta SIGINT e SIGQUIT . Não tenho certeza se há alguma diferença entre os sinais (é tudo específico para tail ), mas qualquer um deles seria melhor que SIGKILL .

É muito fácil testar também:

$ tail -f /dev/null > /dev/null &
[1] 26599
$ kill -SIGINT $!
[1]+  Interrupt               tail -f /dev/null > /dev/null
    
por Oli 18.12.2014 / 17:42