Linuxで意図的なカーネルパニックが発生しますか?

Linuxで意図的なカーネルパニックが発生しますか?

Linuxでカーネルパニックを引き起こす方法はありますか?私は聞いた

echo c > /proc/sysrq-trigger

しかし、ただ停止したようです。カーネルパニックかどうかはわかりません。カーネルパニックを引き起こす可能性のあるルートとして実行できるCプログラムはありますか?

ベストアンサー1

殺して使う

以下を試してみることができると思います。

$ kill -6 1

これは信号#6をプロセス#1(initプロセス)に送る。シグナルマニュアルページを読む場合:ヒューマンシグナルNo.7:

   Signal     Value     Action   Comment
   -------------------------------------------------------------------------
   SIGHUP        1       Term    Hangup detected on controlling terminal
                                 or death of controlling process
   SIGINT        2       Term    Interrupt from keyboard
   SIGQUIT       3       Core    Quit from keyboard
   SIGILL        4       Core    Illegal Instruction
   SIGABRT       6       Core    Abort signal from abort(3)

プロセスがさまざまな信号を処理する方法を学ぶことができます(cat /proc/$PID/status)。詳しくは、このU&L Q&Aをご覧ください。プロセスがどのシグナルを聞いているかを確認する方法は?

メモリオーバーフロー

別のアプローチは、メモリオーバーフローによってカーネルパニックが発生することです。まず、スワップを無効にする必要があります。

$ swapon -s
Filename                Type        Size    Used    Priority
/dev/mapper/VolGroup00-LogVol01         partition   14352376    3177812 -1

$ swapoff /dev/mapper/VolGroup00-LogVol01

今、すべてのメモリを消費します。

$ for r in /dev/ram*; do cat /dev/zero > $r; done

引用する

おすすめ記事