Ctrl + C 和Ctrl + Z都是中斷命令,但是他們的作用卻不一樣.
Ctrl + C 是強制中斷程序的執行,進程已經終止。 Ctrl + C 發送 SIGINT信號 參考:linux信號
Ctrl + Z 的是將任務中止(暫停的意思),但是此任務並沒有結束,他仍然在進程中他只是維持掛起的狀態,用戶可以使用fg/bg操作繼續前台或后台的任務,fg命令重新啟動前台被中斷的任務,bg命令把被中斷的任務放在后台執行. 參考:bash工作管理
例如:當你vi一個文件是,如果需要用shell執行別的操作,但是你又不打算關閉vi,因為你得存盤推出,你可以簡單的按下ctrl+z,shell會將vi進程掛起~,當你結束了那個shell操作之后,你可以用fg命令繼續vi你的文件。
Ctrl + D 不是發送信號,而是表示一個特殊的二進制值,表示 EOF。
注:在shell中,ctrl-d表示推出當前shell. 參考cat用法