У меня есть сценарий оболочки, который я написал, который выполняет следующие шаги в рамках конечного цикла:
Я порождаю процесс и жду его завершения. Если он не завершится в течение 40 секунд, я выполняю:
kill -SIGTERM pid
Иногда я обнаружил, что даже при выполнении pid kill -SIGTERM процесс не реагирует на уничтожение. В этом случае, после дополнительных 40 секунд ожидания его самоубийства, я выполняю:
kill -9 pid
В большинстве случаев этого достаточно, и я перехожу к следующей итерации этих шагов.
ПРОБЛЕМА:
Иногда, выполняя описанный выше набор шагов, я получаю не только процесс, который я намеревался уничтожить, но и оболочку, запускающую скрипт, который выполняет цикл этих шагов.
ВОПРОС: Чем это вызвано?