Shell
無法使用 ctrl+c 刪除已停止的作業
當我嘗試從超級使用者更改為普通使用者並因此鍵入“退出”時,我收到一條錯誤消息,指出作業已停止並且我無法以 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
) 而不是應該做的伎倆。