“Уничтожит-SIGTERM” остановка “хвост-f”?

Как в заголовке говорится, Google ничего не дает мне, и я не могу протестировать его на этом сервере.

Команда, как, следует:

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

Сделайте я должен использовать kill -SIGTERM <PID> или kill -SIGKILL <PID> остановить a tail -f?

1
задан 18 December 2014 в 07:42

2 ответа

  • SIGTERM отправляет сигнал в команду и скажет команде останавливать себя. Если существует потребность в файлы очистки из-за уничтожения, команда может сделать это.
  • SIGKILL отправляет сигнал в init систему. Сама команда не становится даже сказанной, она собирается быть уничтоженной.

, Таким образом, можно использовать обоих; но SIGTERM должен быть предпочтен (это является более корректным).

Будет “kill-SIGTERM” останавливать “tail-f”?

Да, это будет. На Linux хвост действует на SIGTERM.

1
ответ дан 10 November 2019 в 10:59

Вы не должны даже использовать SIGTERM. tail прислушивается SIGINT и SIGQUIT также. Я не уверен, существует ли какое-либо различие между сигналами (это все характерно для tail) но любой из них был бы лучше, чем SIGKILL.

Довольно легко протестировать также:

$ tail -f /dev/null > /dev/null &
[1] 26599
$ kill -SIGINT $!
[1]+  Interrupt               tail -f /dev/null > /dev/null
1
ответ дан 7 December 2019 в 14:03

Другие вопросы по тегам:

Похожие вопросы: