我知道 Linux 可能根据配置允许交互式用户通过按Ctrl- Alt-重新启动服务器Del,甚至无需登录。我有一个远程控制台通过 SSH 会话连接到我无法登录的远程服务器,但我想重新启动它。是否可以通过 SSH(或)以某种方式发送组合键Control- Alt- ?如果可以,怎么做?Deletetelnet
编辑:sshd
澄清一下,我不仅通过-连接到服务器ssh
,我还通过 KVM over IP 交换机连接,因此它是一个串行控制台。但此连接本身是通过 SSH 连接的,我的问题是如何通过它发送Ctrl- Alt-组合键。Del
答案1
如果您连接到串行控制台并且您的内核已CONFIG_MAGIC_SYSRQ
启用/proc/sys/kernel/sysrq
(在我的 Ubuntu 机器上默认),您可以尝试BREAK,ALT-BREAK或CTRL- BREAK(取决于SSH
串行转换器)。
如果有效,您可以按h(5秒内)以获取可用命令列表(“ s = sync filesystems
”和“ b = force immediate reboot
”可能是您正在寻找的)。
欲了解更多信息,请查看linux/文档/sysrq.txt
答案2
您可以使用 Sysrq 触发器立即重置(就像按 ALT-BREAK-b 一样):
echo b >/proc/sysrq-trigger
在此之前,您可能需要同步所有文件系统,以免丢失任何数据:
echo s >/proc/sysrq-trigger
这可能仅在内核中启用了 CONFIG_MAGIC_SYSRQ 时才有效。可能的键解释如下维基百科顺便提一句。
答案3
在您提到的评论中(ttyS0) - 这不是本地控制台,而是串行控制台。
我认为您不能从串行控制台执行 Ctrl-Alt-Del。
http://osdir.com/ml/linux.hardware.dell.poweredge/2003-01/msg00200.html建议一种让 magic-sysrq 通过串行工作的方法 - 也许这对于重新启动服务器就足够了?
答案4
查看远程 KVM 切换器,无需 SSH 访问即可重新启动。 http://en.wikipedia.org/wiki/KVM_switch#Remote_KVM_devices