Linux
Ctrl + C 在 Linux 上的單使用者模式下不起作用
我不知道“單使用者模式”是否是正確的術語,但我在這裡:
在 GRUB 菜單上,我按下
E
以編輯執行配置。在以 開頭的行中linux
,我附加了以下內容:rw init=/bin/bash
並按下
F10
。電腦在不詢問任何密碼的情況下啟動到 root shell。問題是,信號不起作用。例如,當我執行一個命令時,我無法通過按
Ctrl
+退出該命令C
。這是預期的嗎?如果是,這是什麼原因,我該如何解決?它與單使用者模式下的終端仿真器有關嗎?
很長一段時間以來,單使用者模式都不是正確的術語。在 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 工具集。軟體。