您的位置:首页 > 运维架构 > Linux

关于linux中的Ctrl+C,Ctrl+Z,Ctrl+D

2015-05-05 15:15 274 查看
Ctrl+C:送SIGINT信号,默认进程会结束,但是进程自己可以重定义收到这个信号的行为。

Ctrl+Z:送SIGSTOP信号,进程只是被停止,再送SIGCONT信号,进程继续运行。

Ctrl+D:不是发送信号,而是表示一个特殊的二进制值,表示 EOF。

有些信号不能被屏蔽,比如中断,还应该有杀死进程的信号,要不然内核怎么做操作系统中的老大。实际上,SIGKILL和SIGSTOP信号是不能被屏蔽或阻止的,它们的默认动作总是会被执行的。

Ctrl+C和Ctrl+Z都是中断命令,但是它们的作用却不一样。

Ctrl+C是强制中断程序的执行;

Ctrl+Z的作用是将任务中断,但是此任务并没有结束,它仍然以进程形式存在于系统中,它只是维持挂起的状态。用户可以使用fg/bg操作继续前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行。

例如:

当你vim一个文件是,如果需要用shell执行别的操作命令,但是你又不打算关闭vim,因为你得存盘退出,你可以简单的按下ctrl+z,shell会将vim进程挂起。当结束了别的shell操作之后,你可以用fg命令继续vim你的文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: