linux ctrl+z, ctrl+c, ctrl+d, getchar()
2013-08-29 19:39
531 查看
1. Difference between ctr + z and ctrl +c
Example:
2. 控制字符都是可以用(stty命令)更改的。 用stty -a看看终端配置。
ctrl-c 是发送 SIGINT 信号,终止一个进程
ctrl-z 是发送 SIGSUSPEND信号,挂起一个进程
ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF
但是ctrl-d在具体比如getchar应用中又有些特别之处,可以参考"getchar()和EOF"那篇文章
ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样. ctrl+c是强制中断程序的执行, 而ctrl+z的是将任务中断,但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用fg/bg操作继续前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行. 例如: 当你vi一个文件是,如果需要用shell执行别的操作,但是你又不打算关闭vi,因为你得 存盘推出,你可以简单的按下ctrl+z,shell会将vi进程挂起~,当你结束了那个shell操作之后,你可以用fg命令继续vi你的文件.
Example:
>vi sttyTest.c在vi 命令行模式下,ctrl+z [1]+ Stopped vim sttyTest.c >bg 使用后台命令查看后台job [1]+ vim sttyTest.c & [1]+ Stopped vim sttyTest.c >fg恢复suspend job,继续编辑 vim sttyTest.c
2. 控制字符都是可以用(stty命令)更改的。 用stty -a看看终端配置。
[xx@localhost ~]$ stty -a speed 38400 baud; rows 24; columns 80; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?; swtch = M-^?; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
ctrl-c 是发送 SIGINT 信号,终止一个进程
ctrl-z 是发送 SIGSUSPEND信号,挂起一个进程
ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF
但是ctrl-d在具体比如getchar应用中又有些特别之处,可以参考"getchar()和EOF"那篇文章
相关文章推荐
- Linux 任务控制的几个技巧( &, [ctrl]-z, jobs, fg, bg, kill)
- robot framework用SSHLibrary发送ctrl-c 等控制字符(control character)到远端 ssh server(如linux server)的表格代码
- Linux Ctrl+Z的使用方法
- 关于linux后台运行进程如何屏蔽ctrl+z
- 复习最基础的linux 之 禁止使用《ctrl+alt+del》
- 虚拟机(vmware)linux中ctrl按键失灵 解决办法
- How to Navigate Linux Command Line Using Keybinding (Linux Ctrl Command Examples)
- Linux Ctrl+z bg fg jobs命令使用
- 通过ssh登陆linux后使用vim时按了ctrl+s
- Linux下Ctrl+D、Ctrl+C和Ctrl+Z的联系及区别
- Linux Ctrl+Z的使用方法
- linux 下 按 ctrl + s 锁屏
- Linux -- chown . Ctrl 命令
- Linux中ctrl-c, ctrl-z, ctrl-d 区别
- linux下用ctrl+r快速搜索history命令
- Linux_去掉和加上^M_ctrl_m
- linux下的Ctrl+c
- Linux下利用signal函数处理ctrl+c等信号
- Linux中ctrl-c, ctrl-z, ctrl-d 区别
- Linux下ctrl+s假死恢复