Поймать SIGKILL в драйвере MacOS
В настоящее время я отлаживаю своего демона, который предположительно умирает из-за SIGKILL.
Я хотел бы поймать тот сигнал, который предназначен для моего процесса, и добавить распечатку, которую получил этот процесс.
Я знаю, что SIGKILL не может быть пойман в обработчике сигналов уровня процесса, поэтому я решил использовать kext.
Я посмотрел в исходном коде XNU и увидел, что psignal
это метод, который передает сигнал целевому процессу. Тем не менее, поэтому я попытался использовать батут для его исправления, но этот метод вызывает только другой статический метод с именем psignal_internal
это статично и, вероятно, устранено оптимизацией компилятора.
возможно, есть другие способы получить какой-то механизм, который может помочь перехватить это событие sigkill и, возможно, предоставить возможность установить правильную функцию обратного вызова в этом случае?
Спасибо