在 Linux 上从终端“强制”发生内核恐慌

在 Linux 上从终端“强制”发生内核恐慌

我正在使用 Solus 4.0(在虚拟机中)并尝试制作“典型”内核恐慌输出(“BSOD”)的屏幕截图。 Solus 中的 init 系统是systemd.

我在终端中尝试了以下命令但没有成功:

$ kill -6 1

不执行任何操作(没有回声)。

$ sudo kill -SEGV 1

也没什么作用...

# echo c > /proc/sysrq-trigger

冻结系统但这不是我需要的。

有任何想法吗?

我想查看堆栈调用等等。这不是用叉子炸弹冻结系统。

使用的参考资料:

答案1

如果您想查看所有 CPU 上运行的线程的堆栈跟踪,您可以

# echo l > /proc/sysrq-trigger

根据,例如,维基百科

显示所有活动 CPU 的堆栈回溯。

答案2

理想情况下,这根本不可能,否则黑客将能够轻易地使系统瘫痪。如果您找到了一种方法来做到这一点,那可能是严重的安全问题。

答案3

从用户空间引起内核恐慌的一个可靠方法是让 PID 1 退出。它受到信号保护,因此您必须使用不同的方法,例如调试器:sudo gdb -ex 'call _exit(0)' --pid=1 --batch

相关内容