Utku Asked: 2017-12-12 16:52:46 +0800 CST2017-12-12 16:52:46 +0800 CST 2017-12-12 16:52:46 +0800 CST Ctrl + C 在 Linux 上的单用户模式下不起作用 772 我不知道“单用户模式”是否是正确的术语,但我在这里: 在 GRUB 菜单上,我按下E以编辑运行配置。在以 开头的行中linux,我附加了以下内容: rw init=/bin/bash 并按下F10。计算机在不询问任何密码的情况下启动到 root shell。 问题是,信号不起作用。例如,当我运行一个命令时,我无法通过按Ctrl+退出该命令C。 这是预期的吗?如果是,这是什么原因,我该如何解决?它与单用户模式下的终端仿真器有关吗? linux grub2 1 个回答 Voted Best Answer JdeBP 2017-12-13T13:43:58+08:002017-12-13T13:43:58+08:00 很长一段时间以来,单用户模式都不是正确的术语。在 1990 年代,曾经的单用户模式分为紧急模式和救援模式。您实际上没有使用任何一个。 您实际上在做的是一个糟糕的主意,因为它涉及将程序作为进程#1 运行,而该程序并非旨在执行进程#1 实际需要执行的工作。您最好使用紧急或救援模式,后者由您指向的答案本身指向的已接受答案调用。 是的,信号会表现得很奇怪。过程#1 对信号有特殊的语义,对于初学者来说,这是init=/bin/bash一个糟糕的想法的几个原因之一。此外,作业控制 shell 无法在/dev/console其标准 I/O 时间进行作业控制,但没有任何东西与控制终端建立适当的会话,正如 Bourne Again shell 一启动就告诉你的那样。 可以使用一些简单的链式加载工具与控制终端建立适当的会话,从而启用作业控制和信号传递到前台进程组,但这并不能解决所有其他问题/bin/bash作为流程#1程序,因为您必须手动明确地仔细执行它们。 只需使用救援模式或紧急模式。 进一步阅读 乔纳森·德博因·波拉德 (2016)。紧急和救援模式引导程序的生成。经常给出答案。 https://unix.stackexchange.com/a/251228/5132 https://unix.stackexchange.com/a/197472/5132 https://unix.stackexchange.com/a/392612/5132 乔纳森·德博因·波拉德。open-controlling-tty. nosh 工具集。软件。 乔纳森·德博因·波拉德。setsid. nosh 工具集。软件。 乔纳森·德博因·波拉德。vc-get-tty. nosh 工具集。软件。
很长一段时间以来,单用户模式都不是正确的术语。在 1990 年代,曾经的单用户模式分为紧急模式和救援模式。您实际上没有使用任何一个。
您实际上在做的是一个糟糕的主意,因为它涉及将程序作为进程#1 运行,而该程序并非旨在执行进程#1 实际需要执行的工作。您最好使用紧急或救援模式,后者由您指向的答案本身指向的已接受答案调用。
是的,信号会表现得很奇怪。过程#1 对信号有特殊的语义,对于初学者来说,这是
init=/bin/bash
一个糟糕的想法的几个原因之一。此外,作业控制 shell 无法在/dev/console
其标准 I/O 时间进行作业控制,但没有任何东西与控制终端建立适当的会话,正如 Bourne Again shell 一启动就告诉你的那样。可以使用一些简单的链式加载工具与控制终端建立适当的会话,从而启用作业控制和信号传递到前台进程组,但这并不能解决所有其他问题
/bin/bash
作为流程#1程序,因为您必须手动明确地仔细执行它们。只需使用救援模式或紧急模式。
进一步阅读
open-controlling-tty
. nosh 工具集。软件。setsid
. nosh 工具集。软件。vc-get-tty
. nosh 工具集。软件。