linux下的ctrl+z,ctrl+c, ctrl+d的区别

        在看C++ Primer Plus学C++的时候,运行第五章下程序清单5.18时按照书上所示按下Ctrl+Z来模拟EOF条件时,老是不成功直接结束程序,经过一番查找资料,发现了在linux下的Ctrl+Z,Ctrl+C与Ctrl+D用法都差不多,都是中断程序,但作用却大有不同。千里之堤溃于蚁穴,特在此记录。

        书中所示:

        预计输出为:

        

         实际运行是这样的,按下Ctrl+Z程序就直接挂起退出了,按书上的用fg命令恢复执行程序但并没有输出最后一句统计字符数的语句。

 

        经过查阅资料,发现在linux下的EOF是由Ctrl+D产生,使用Ctrl+D之后程序正常运行。

Ctrl+Z 任务中止,进程没有被终止,将程序挂起到后台,可用fg+编号恢复程序

Ctrl+C  强制终止任务,进程被终止

Ctrl+D 发送exit信号也就是模拟EOF,让程序退出(windows系统是Ctrl+Z)

 

 


版权声明:本文为qq_41587397原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。