SIGTERM, не работающий иногда

Что делает hash сказать? У Вас был a /usr/bin/git ранее и затем удаленный это? Это привело бы к bash: /usr/bin/git: No such file or directory в то время как hash все еще верит git быть там.

Решение в этом случае состояло бы в том, чтобы или использовать новую оболочку. Или для каждой оболочки со старым хешем, сброс это использование hash -r.

3
02.12.2014, 21:34
1 ответ

Не совсем не работает SIGTERM, это то, что приложение не реагирует на него так, как вы надеетесь. Как правило, цель ловли SIGTERM состоит в том, чтобы сделать некоторую уборку, такую ​​как синхронизация данных на диск и т. Д., Перед выходом.

Однако нет насильственных требований, однако, что процесс на самом деле выходит, поэтому, если что-то пойдет не так во время того, что он делает в ответ, это не может.

SIGKILL ( Убить -9 ), с другой стороны, не может быть поймано и должно заставить процесс остановиться, если для некоторой очень необычной причины он не является бесперебойным (причина это не мог добровольно производить). Проблема с этим означает, что процесс не может реагировать и делать все, что ему нужно делать, прежде чем закрывать. Это может означать, что он оставил данные на диске в непоследовательном состоянии и т. Д.

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

Может ли это быть ошибкой в ​​коде приложения

Да.

5
27.01.2020, 21:16

Теги

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