日期:2014-05-16  浏览次数:20701 次

linux终端里CTRL-Z和CTRL-C的区别

http://blog.csdn.net/a_djust/article/details/6082202

?

提问:CTRL-Z和CTRL-C区别?
回答:
CTRL-Z和CTRL-C都是中断命令,但是他们的作用却不一样.
CTRL-C是强制中断程序的执行,
而CTRL-Z的是将任务中断,但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用fg/bg操作继续前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行.
例如:
当你vi一个文件是,如果需要用shell执行别的操作,但是你又不打算关闭vi,因为你得
存盘推出,你可以简单的按下CTRL-Z,shell会将vi进程挂起~,当你结束了那个shell操作之后,你可以用fg命令继续vi你的文件.不是很方便么?!

?

?

ctrl-c 发送 SIGINT 信号给前台进程组中的所有进程。常用于终止正在运行的程序。?
ctrl-z 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程。?
ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF。?
ctrl-/ 发送 SIGQUIT 信号给前台进程组中的所有进程,终止前台进程并生成 core 文件。

?

Key Function?
Ctrl-c Kill foreground process?
Ctrl-z Suspend foreground process?
Ctrl-d Terminate input, or exit shell?
Ctrl-s Suspend output?
Ctrl-q Resume output?
Ctrl-o Discard output?
Ctrl-l Clear screen