Linux

Ctrl + C 在 Linux 上的單使用者模式下不起作用

  • December 12, 2017

我不知道“單使用者模式”是否是正確的術語,但我在這裡:

在 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程序,因為您必須手動明確地仔細執行它們。

只需使用救援模式或緊急模式。

進一步閱讀

引用自:https://unix.stackexchange.com/questions/410318