Linux

Linux下的故意核心恐慌?

  • January 1, 2014

有什麼辦法可以在 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

參考

引用自:https://unix.stackexchange.com/questions/85357