警告!!!:问题要求暂时破坏 Ubuntu。没有安全的答案。如果您正在运行重要服务,正在编辑重要文档/文件,请注意,您可能无法恢复/保存您的工作。请注意,尝试这些答案是不是除非您知道您在做什么以及为什么这样做,否则不建议这样做,并且如果您破坏了某些东西,那不是回答者(或提问者,FWIW)的错。
我需要一种方法来让我的 Ubuntu 变得无响应。无需运行关机脚本,无需从挂起状态恢复。只需一种快速而肮脏的方法让系统进入德普模式。只能通过关闭电源然后重新打开来恢复。
假设三件事:
- 我是 root
- 非 Bash 解决方案(因此请不要使用 fork 炸弹,但可以使用命令行解决方案)
- 文件系统必须保持完整
讲话dobey 的评论:
- derp 模式基本上意味着“计算机运行,但仅此而已”
- “你实际上想要实现什么”。我认为标题解释得很清楚。我想让操作系统随意失去响应,无法做任何事情。这正是我想要实现的。不需要调试,不需要XY问题。我只是需要一种让系统锁定/崩溃/挂断的方法,这样我除了按住关闭电源按钮之外什么也做不了。
答案1
使你的系统无法使用的一个明确方法就是使用以下命令使系统崩溃:
sudo sh -c 'echo c > /proc/sysrq-trigger'
或者(如果您的/proc/sys/kernel/sysrq
设置不是那么严格,例如1
),按Alt+ SysRq+C可以获得相同的效果。
这些文件记录在proc(5)
手动的:
/proc/sys/内核/sysrq
该文件控制允许通过 SysRq 键调用的功能。[..]
/proc/sysrq-trigger(自 Linux 2.4.21 起)
向此文件写入字符会触发与键入 ALT-SysRq-<character> 相同的 SysRq 功能(请参阅 /proc/sys/kernel/sysrq 的描述)。此文件通常只能由 root 写入。有关更多详细信息,请参阅 Linux 内核源文件 Documentation/admin-guide/sysrq.rst(或 Linux 4.10 之前的 Documentation/sysrq.txt)。
有关此“sysrq”功能的更多信息,请参阅https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html
答案2
除非您确切知道自己在做什么,否则请不要尝试!
更改
/proc/sys/kernel
与内核崩溃相关的设置echo 1 >/proc/sys/kernel/hung_task_panic echo 1 >/proc/sys/kernel/panic_on_io_nmi echo 1 >/proc/sys/kernel/panic_on_oops echo 1 >/proc/sys/kernel/panic_on_stackoverflow
这将使内核在出现挂起任务 (!)、IO 错误导致的 NMI、oops 或 BUG 以及内核、IRQ 和异常堆栈溢出时立即进入恐慌状态。虽然不会立即导致恐慌,但这应该会让它很多更容易切中要点。
输出系统的 I/O 端口
cat /dev/port
用零覆盖存储设备
cp /dev/zero /dev/mem
用随机数填充系统 I/O 端口
dd if=/dev/random of=/dev/port
使用 SysRq,通过空指针取消引用执行系统崩溃:
echo 1 >/proc/sys/kernel/sysrq # make sure SysRQ is fully enabled echo c >/proc/sysrq-trigger # pull the trigger
我没有尝试过任何这些。(来源 01,来源 02,如何使用单个命令引起内核恐慌?,来源 04)
答案3
试:
cd /proc
其次是:
sudo kill *
应该可以