linux下的ctrl+z, ctrl+c, ctrl+d, ctrl+h的區別
阿新 • • 發佈:2018-12-30
在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"檢視終端配置。