在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"查看终端配置。