最近、「'kill -9 0'がコンソールセッションを終了する理由」と「カーネルパニックを引き起こす方法」という質問の間で、私はサドルの下で針をつかみ、kill -9 1
最近Arch Linuxノートブックで次世代Linuxを実行しました.に。私はユーザーID "root"でこれを行っています。
一種の衝突、パニック、システムシャットダウンを十分に予想したが、何も起こらなかった。もう一度やったけどkill -9 1
役に立たなかった。
systemd
これで、Arch Linuxシステムはすべて実行中です。systemd
kill -9で生き残るには? Linux 3.7カーネルには特別なケースのコードがあると予想していますが、おそらく私が考えていない他の理由があるかもしれません。
PID 1で実行される他のものはどうですか?私はSlackwareがまだそれを使用していると思いますinit
が、私のプロダクションSlackwareサーバーで試すのは怖いです。私のワイヤレスルーターのDD-WRTはある種の/ sbin / initを実行します。
答え1
からman 2 kill
:
プロセスID 1(つまり、initプロセス)に送信できる唯一の信号は、initに明示的なシグナルハンドラがインストールされているシグナルです。これは、システムが予期せずクラッシュしないようにするために行われます。
つまり、受信中に(終了を含む)必要なすべてのinit
操作を実行できますが、SIGKILL
systemdのinitはそれに対するシグナルハンドラをインストールしないため、何も起こりません。