Как *nix-сигналы позволяют читать память других процессов
Есть такая очень старая и вросшая в *nix с корнями штука под названием «сигналы». Идея этих примитивов очень проста: реализовать программный аналог прерываний. Различные процессы могут посылать сигналы друг другу и самим себе, зная process id (pid) получателя. Процесс-получатель волен либо назначить функцию-обработчик сигнала, которая будет автоматически вызываться при его получении, либо игнорировать его с помощью специальной маски, либо же довериться поведению по умолчанию. So far so good.
Поведение по умолчанию при получении сигнала… А что означают эти успокаивающие слова? Уверен, не то, что вы ожидали. Вики говорит, что обработчики 28 стандартных сигналов (существуют и другие!) по умолчанию таковы: 2 игнорируются, 4 вызывают остановку процесса, 1 – его продолжение, 11 – его завершение, 10 – его завершение с созданием дампа памяти. Вот это уже интересно! Итак, дело обстоит следующим образом: даже если ваша программа никак не упоминает сигналы в исходном коде, на самом деле она их использует, причём весьма драматичным образом. Читать дальше →
Поведение по умолчанию при получении сигнала… А что означают эти успокаивающие слова? Уверен, не то, что вы ожидали. Вики говорит, что обработчики 28 стандартных сигналов (существуют и другие!) по умолчанию таковы: 2 игнорируются, 4 вызывают остановку процесса, 1 – его продолжение, 11 – его завершение, 10 – его завершение с созданием дампа памяти. Вот это уже интересно! Итак, дело обстоит следующим образом: даже если ваша программа никак не упоминает сигналы в исходном коде, на самом деле она их использует, причём весьма драматичным образом. Читать дальше →
Источник: Хабрахабр
Похожие новости
- [Перевод] Как забытый парсер ссылок привел к XSS на Reddit: Уязвимость на $5000, которая скрывалась в редакторе постов Reddit
- AlinaTen: Сделка между OpenAI и Windsurf сорвалась — глава стартапа уходит в Google
- Kubernetes на базе Deckhouse в облаке Linx Cloud: встроенный мониторинг, безопасность и управление сертификатами
- Без(д)воз(д)мездно, то есть даром
- Настраиваем роутер и WiFi с VLAN в тоннель
- Новости кибербезопасности за неделю с 7 по 13 июля 2025
- Vladimir: TSMC может понести убытки из-за возможных пошлин США на тайваньские чипы
- VLESS+Reality и Multi-hop: Архитектура VPN-цепочки для нового поколения блокировок
- Laravel: электронная подпись на сервере с PDF визуализацией
- Perplexity запускает Comet — собственный AI-браузер, бросающий вызов Google