私はシグナル9(SIGKILL)をinitプロセス(PID 1)に送信することに関して奇妙な問題に直面しています。 シグナルハンドラを介してSIGKILLを無視することはできません。 SIGKILLをinitに送信しようとすると、何も起こっていないことに気付きました。 initは終了しません。この振る舞いを理解しようとすると、私はstraceを使ってinitプロセスに自分自身を取り付けることを決めました。今、奇妙な部分が来る。 straceでinitプロセスを "見て" SIGKILLを送ると、システムがクラッシュします。SIGKILL init process(PID 1)
私の質問はなぜこれが起こっているのですか?プロセスを見るとシステムがクラッシュするのはなぜですか、そうでないとクラッシュしないのはなぜですか?私が言ったように、どちらの場合も、私はSIGKILLをinitに送ります。 CentOS 6.5、Debian 7、Archでテスト済み。
ありがとうございます!
'init'がなければ、私はあなたが機能するオペレーティングシステムを持っているとは思わない。 'init'を終了させたい場合は、shutdown/halt/poweroffと同様にできます。 – janos
はい、あなたは正しいですが、私の "実験"は純粋な好奇心からのものでした。 – Alex
あなたはそうです、それはちょっと楽しいです。 – janos