Shell

無法使用 ctrl+c 刪除已停止的作業

  • August 25, 2016

當我嘗試從超級使用者更改為普通使用者並因此鍵入“退出”時,我收到一條錯誤消息,指出作業已停止並且我無法以 root 身份註銷。所以我列出了這些工作:

#jobs
[1]+ yes | apt-get install build-essential

我將工作從貝殼背景移到前台

fg 1

現在我想,我可以簡單地按 ctrl+c 來結束它,但是每次按 ctrl+c 時,除了顯示“^c”之外什麼都沒有發生。當我按下 ctrl+z 時,我回到了提示符,但工作仍然存在,所以我被困在了 # 中。

^C產生一個中斷信號(SIGINT)。程序可以屏蔽這個信號,或者完全忽略它,或者以非致命的方式對它做出“反應”。

例如 - 您可能希望程序停止它現在正在做的任何事情,但不完全終止。

所以^C並不總是有效。

^Z停止作業,然後kill %1 (其中 %1 是jobs列表中的數字)將向其發送終止信號 ( SIGTERM) 而不是應該做的伎倆。

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