Linux中ctrl+z 、ctrl+c、 ctrl+d区别

ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.
 
ctrl+c是强制中断程序的执行,进程已经终止 。
 
ctrl+z的是将任务中止(暂停的意思),但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态
用户可以使用fg/bg操作继续前台或后台的任务,
fg命令重新启动前台被中断的任务bg命令把被中断的任务放在后台执行. 
【Linux中ctrl+z 、ctrl+c、 ctrl+d区别】例如:当你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 正常退出时 , 才会将缓冲区内容保存到文件




    推荐阅读