1. 程式人生 > >linux下的ctrl+z, ctrl+c, ctrl+d, ctrl+h的區別

linux下的ctrl+z, ctrl+c, ctrl+d, ctrl+h的區別

在Linux下當我執行一個http伺服器的時候,按下ctrl+z,發現程序退出了,再次執行的時候,發現埠被佔用,於是就用kill -9 殺死這個程序或者在程序執行的時候按下ctrl+c退出程序。使用ctrl+c退出程序,就是真的退出了。那ctrl+z和ctrl+c都是中斷命令,那它們有什麼區別?

Ctrl+z :

當按下ctrl+z時,系統會發送SIGTSTP(20號訊號)給前臺程序組中的所有程序,用於掛起一個程序,而不是結束程序。

使用者可以使用fg/bg操作恢復前臺或後臺的程序。fg 命令可以恢復前臺被掛起的程序,此時可以使用ctrl+z再次掛起該程序。

bg命令可以把被中斷的程序放到後臺去執行,此時不能再使用ctrl+z 掛起該程序。

問題:執行指令find / -name "test.c",按ctrl+z後的提示有[1] 166,可以繼續執行的方式有(fg 1

Ctrl+c:

當在shell中按下ctrl+c時,會發送 SIGINT(2號訊號) 訊號給前臺程序組中的所有程序,強制終止程式的執行。

Ctrl+h:

顯示隱藏的目錄

Ctrl+d: 

 一個特殊的二進位制值,表示 EOF,作用相當於在終端中輸入exit後回車.

Ctrl+/ :

傳送 SIGQUIT(3號) 訊號給前臺程序組中的所有程序,終止前臺程序並生成 core 檔案.

Ctrl+s:   

中斷控制檯輸出

Ctrl+q: 

恢復控制檯輸出

Ctrl-l :

清屏

其實,控制字元都是可以通過stty命令更改的,可在終端中輸入命令"stty -a"檢視終端配置。