Как *nix-сигналы позволяют читать память других процессов
Есть такая очень старая и вросшая в *nix с корнями штука под названием «сигналы». Идея этих примитивов очень проста: реализовать программный аналог прерываний. Различные процессы могут посылать сигналы друг другу и самим себе, зная process id (pid) получателя. Процесс-получатель волен либо назначить функцию-обработчик сигнала, которая будет автоматически вызываться при его получении, либо игнорировать его с помощью специальной маски, либо же довериться поведению по умолчанию. So far so good.
Поведение по умолчанию при получении сигнала… А что означают эти успокаивающие слова? Уверен, не то, что вы ожидали. Вики говорит, что обработчики 28 стандартных сигналов (существуют и другие!) по умолчанию таковы: 2 игнорируются, 4 вызывают остановку процесса, 1 – его продолжение, 11 – его завершение, 10 – его завершение с созданием дампа памяти. Вот это уже интересно! Итак, дело обстоит следующим образом: даже если ваша программа никак не упоминает сигналы в исходном коде, на самом деле она их использует, причём весьма драматичным образом. Читать дальше →
Поведение по умолчанию при получении сигнала… А что означают эти успокаивающие слова? Уверен, не то, что вы ожидали. Вики говорит, что обработчики 28 стандартных сигналов (существуют и другие!) по умолчанию таковы: 2 игнорируются, 4 вызывают остановку процесса, 1 – его продолжение, 11 – его завершение, 10 – его завершение с созданием дампа памяти. Вот это уже интересно! Итак, дело обстоит следующим образом: даже если ваша программа никак не упоминает сигналы в исходном коде, на самом деле она их использует, причём весьма драматичным образом. Читать дальше →
Источник: Хабрахабр
Похожие новости
- Децентрализованное доверие. 1. Гипотеза
- Боли и решения: какие трудности возникают при найме коммуникаторов
- Большие языковые модели в финтехе: можно ли доверять им данные
- Spark_news: Каждый четвертый предприниматель не доволен своим окружением
- Редакция Spark.ru: Не прогори. Как найти китайского поставщика для работы на российском рынке?
- Finpeople: «Лента» объявляет о росте выручки на 62,1% и увеличении рентабельности по EBITDA на 434 б.п. в 1 квартале 2024 года
- Руслан Галифанов: Трезвый взгляд на Америку как место для жизни и бизнеса
- Путеводитель по Docker. От основ контейнеризации до создания собственного докера
- Чтение на выходные: «Искусство быть невидимым. Как сохранить приватность в эпоху Big Data» Кевина Митника
- Spark_news: Зумеры быстрее всех выгорают на работе