Linux
Linux下的故意核心恐慌?
有什麼辦法可以在 Linux 下引起核心恐慌?我聽說過
echo c > /proc/sysrq-trigger
但它似乎只是凍結了,我不確定這是核心恐慌。是否有任何 C 程序可以以 root 身份執行以導致核心崩潰?
使用殺死
我認為您可以嘗試以下方法:
$ kill -6 1
這會將信號#6 發送到程序#1(初始化程序)。如果您在信號手冊頁中閱讀:“man 7 signals”:
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
參考