linux中的ctrl+z和ctrl+c以及exit
文章目录
- 1. 任务放入后台执行
- 2. ctrl+z、ctrl+c和ctrl+d,exit
- 2.1 基本认识
- 2.2 Unix的Signal
- 2.3 ctrl+D和exit
- 3. 其他
1. 任务放入后台执行
- ctrl+z 挂起进程并放入后台
- jobs 显示当前暂停的进程
- bg %N 使第N个任务在后台运行(%前有空格)
- fg %N 使第N个任务在前台运行
默认bg,fg不带%N时表示对最后一个进程操作!
参考: 在LINUX中 用Ctrl+z挂起的命令怎么切回到原任务的命令窗口
2. ctrl+z、ctrl+c和ctrl+d,exit
2.1 基本认识
Ctrl+Z
通过向进程发送SIGSTOP
信号来暂停进程,这个信号不能被程序打断Ctrl+C
通过向进程SIGINT
信号杀死进程,是可以被程序打断的,所以可以在exiting之前完成本程序的一些清理工作,或者就不退出了。- 比如,对jupyter lab执行
ctrl+c
的时候,还会提示很多关闭kernel的信息,就是在自我清理。
- 比如,对jupyter lab执行
- 如果暂停一个进程,那么会显示以下信息,提示你,该程序已经被暂停了
[1]+ Stopped yes
- 但是如果kill一个进程,那么除了回到shell的提示之外,不会看到其他别的信息。
- 暂停一个进程的话,还可以做一些别的事情,比如:
fg
这个命令会把被暂停的第一个进程再放到前台
- 如果运行以下命令,则程序暂停后会被放入后台运行,同时程序的输出会被放在TTY中,(关于TTY,我也不太了解,看了一些博客也没看懂:终端、Shell、tty 和控制台(console)有什么区别?)
bg
- 如果想要杀死一个暂停的程序,不需要先把它调到前台,只需要:
kill %1 # PID号
2.2 Unix的Signal
Ctrl-C
(在较旧的 Unix 中,DEL)发送一个 INT 信号(“中断”,SIGINT); 默认情况下,这会导致进程终止。Ctrl-Z
发送 TSTP 信号(“终端停止”,SIGTSTP); 默认情况下,这会导致进程暂停执行。 [3]Ctrl-\
发送退出信号(SIGQUIT); 默认情况下,这会导致进程终止并转储核心。Ctrl-T
(并非所有 UNIX 都支持)发送 INFO 信号 (SIGINFO); 默认情况下,如果命令支持,这会导致操作系统显示有关正在运行的命令的信息
参考:
- What’s different between Ctrl+Z and Ctrl+C in Unix command line?
- How can I terminate a background process with ctrlz in C?
- Linux中ctrl-c, ctrl-z, ctrl-d 区别
- wiki百科:Job control (Unix)
- wiki百科:C signal handling
- wiki百科:Signal (IPC)
2.3 ctrl+D和exit
Ctrl+D
字符(在Unicode编码里,被作为END OF TRANSMISSION。也可以表示为\04
,0x4
)是是内核中终端或伪终端驱动程序的 eof 特殊控制字符参数的默认值(更准确地说是附加的 tty 行规则到串行或伪 tty 设备),作用相当于在终端中输入exit后回车。- End-of-Transmission character 传输结束字符,(C语言,从命令行接收参数时,默认最后其实应该有一个eof字符,但是后来回车就默认会添加这个eof字符)
参考:
- Why does Ctrl-D (EOF) exit the shell?
3. 其他
还有一些其他的控制字符组合:
- ctrl-s 中断控制台输出
- ctrl-q 恢复控制台输出
- ctrl-l 清屏
控制字符都是可以通过stty命令更改的,可在终端中输入命令"stty -a"查看终端配置
(base) ~ > stty -a
speed 38400 baud; rows 21; columns 166; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;
discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc ixany imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc
注意,这个是bash中的操作,和python等的其他的CLI区分开,例如:python中断程序执行(不抛出异常)
linux中的ctrl+z和ctrl+c以及exit相关推荐
- Linux系统中ctrl+c、 ctrl+z、 ctrl+\ 产生的信号名称
Linux系统中ctrl+c. ctrl+z. ctrl+\ 产生的信号名称: ctrl+c - SIGINT ctrl+z - SIGTSTP ctrl+\ - SIGQUIT
- 如何在Adobe Acrobat中实现像Word/Excel中的Ctrl+Z和Ctrl+Y的撤回还原功能(涉及搜狗输入法热键冲突)
如何在Adobe Acrobat中实现像Word/Excel中的Ctrl+Z和Ctrl+Y的撤回还原功能(涉及搜狗输入法热键冲突) 在用来看PDF的Adobe Acrobat里面的Ctrl+Z确实是和 ...
- linux ctrl z 的区别,linux中ctrl+z和ctrl+c的区别
在Linux系统中,Ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样. Ctrl+c是强制中断程序的执行,,进程已经终止 Ctrl+z是将任务中止(暂停的意思). 在这一点上,任务还没有 ...
- linux中ctrl加c命令什么意思,Linux命令中Ctrl+z、Ctrl+c和Ctrl+d的区别和使用详解
Ctrl+c,Ctrl+d,Ctrl+z在Linux中意义 Ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样. Ctrl+c是强制中断程序的执行. Ctrl+z的是将任务中断,但是此任务 ...
- linux中ctrl+z和ctrl+c的区别
ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样. ctrl+c强制中断程序 ctrl+z的是将任务中断,挂起的状态, ctrl+c是强制中断程序的执行,而ctrl+z的是将任务中断. ...
- linux中ctrl+z 、ctrl+c、 ctrl+d区别
ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样. ctrl+c是强制中断程序的执行,,进程已经终止. ctrl+z的是将任务中止(暂停的意思),但是此任务并没有结束,他仍然在进 ...
- linux 后台任务 前台任务 查看切换终止开始命令 bg、fg、ctrl+z、ctrl+d和ctrl+c 简介
fg.bg.jobs.&.ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的 一.& 最经常被用到 这个用在一个命令的最后,可以把这个命令 ...
- linux 前后台任务命令 bg、fg、ctrl+z、ctrl+d和ctrl+c 使用
一.& (常用) & 用在一个命令的最后,使用之后可以把这个命令放到后台执行 例: 二.ctrl + z 将一个前台执行的命令挂起 三.jobs 查看当前有多少在后台运行的命令 job ...
- 撤销、反撤销快捷键(Ctrl + z,Ctrl + y)
撤销.反撤销快捷键 撤销: Ctrl + z 反撤销: Ctrl + y
最新文章
- Image Super-Resolution Using Deep Convolutional Networks
- Spring Boot 核心知识,深入剖析!
- C++快速排序(二)
- Apache2.2与Tomcat7集成方案详解
- cmake vs qmake
- 雷军微博抽奖送的那台蔚来ES6 时隔10个月终于提到车了
- Linux(3)--防火墙
- qq如何用其他进制登录
- Halcon形态学操作、区域处理相关常用API
- 关于Mysql修改密码的方法汇总
- 洛谷P2280 [HNOI2003] 激光炸弹 [前缀和]
- 基于JAVA_JSP电子书下载系统
- 快速去除PDF的打开密码和限制(四种方法)
- jupyter怎么安装jieba_记录 anaconda安装jieba
- Java爬取酷狗音乐歌单
- Swift 数组遍历 ForEach .enumerated() makeIterator() indices
- 快速幂算法(qwe)
- Buuctf rar
- 多线程批量检测未注册域名
- 点击化学(Click chemistry) 叠氮-PEG4-NHS/Biotin-PEG-N3/Azid/DBCO-EPG-NHS/DBCO-NH2