что то очень важное, я вот не вижу не одного случая что бы процесс как то нежно стопить надо было, за исключением процессов бд но там shutdown immediate есть свой
Аргумент -9 (или KILL) для команды kill следует использовать в POSIX-совместимых системах только в случае крайней необходимости. Почему? Сигнал KILL не может быть обработан процессом. Это означает, что после завершения процесса с помощью kill -9, дочерние процессы останутся в памяти и станут «осиротевшими» (orphaned), файловая система окажется засорена временными файлами, сегменты совместно используемой памяти — активными, сокеты — зависшими, а функция atexit(3) вообще не будет выполнена. В результате есть риск столкнуться с неожиданными и сложными для отладки проблемами. с хабра.
Вообще, понимать, как работает ipc( а сигналы - это тоже к ipc относится) важно. Вас просто спросили на понимание, видимо. В разрезе бд понимать особенно важно, если бд, например, инициализируется через системд. Или докер. Или вообще любой другой системой инициализации.
Не совсем верно. Если в диспозиции сигналов будет SIG_IGN на SIG_CHILD на чилда, то при завершении чилда - он всегда усыновляется пидом 1(даже если родитель еще работает). Более того, при киле -9 все кернелевые ресурсы этого процесса высвобождаются ядром. Про ошметки в системе - там много нюансов. Сегменты памяти - если разговор про шаред мемори - высвободаются, если нет больще пидов с указателем на эти участки.
Как боженька расписал. Респект.
Файловая система будет засорена
Не ведитесь на статью. Вы неверно понимаете сигкилл.
Обсуждают сегодня