現在、SIGKILL が原因で停止していると思われるデーモンをデバッグしています。
私のプロセス向けのシグナルをキャッチし、このプロセスが得たプリントアウトを追加したいと思います。
プロセス レベルのシグナル ハンドラでは SIGKILL をキャッチできないことはわかっているので、kext を使用することにしました。
xnu ソース コードを調べたところ、psignal
それがシグナルをターゲット プロセスに渡すメソッドであることがわかりました。ただし、トランポリンを使用してパッチを適用しようとしましたが、このメソッドは static という名前の別の静的メソッドを呼び出すだけpsignal_internal
であり、おそらくコンパイラの最適化によって排除されます。
おそらく、sigkill のこのイベントをキャッチするのに役立つ何らかのメカニズムを取得し、この場合に適切なコールバック関数を設定するオプションを提供する他の方法があるでしょうか?
ありがとう