ctrl+c和ctrl+z都是中斷命令,但是他們的作用卻不一樣.
ctrl+c是強制中斷程序的執行,進程已經終止。
ctrl+z的是將任務中止(暫停的意思),但是此任務并沒有結束,他仍然在進程中他只是維持掛起的狀態
用戶可以使用fg/bg操作繼續前臺或后臺的任務,
fg命令重新啟動前臺被中斷的任務
bg命令把被中斷的任務放在后臺執行.
例如:當你vi一個文件時,如果需要用shell執行別的操作,但是你又不打算關閉vi,因為你得存盤推出,
你可以簡單的按下ctrl+z,shell會將vi進程掛起~,當你結束了那個shell操作之后,你可以用fg命令繼續vi你的文件。
ctrl-d 不是發送信號,而是表示一個特殊的二進制值,表示 EOF。
注:在shell中,ctrl-d表示推出當前shell.
當我們退出 Shell,比如按下 Ctrl+D 時,Shell 進程會把歷史記錄緩沖區的內容,寫回到 .bash_history 文件中去。
這也是我們能用linux 的history 可以看到歷史執行命令的原因,如果您使用了ctrl+c,可能用該命令看不到上次執行的命令。
只有在 Shell 正常退出時,才會將緩沖區內容保存到文件