Shell 功能、配置和插件(2)

Shell 功能、配置和插件


job control 1.png

注意一下上面打印信息,[1]表示job number(任务编号),7089表示PID(进程号)。在后台执行的命令,如果有stdout和stderr,数据依旧输出到屏幕上,可以通过数据重定向传输到文件中,就不会影响前台的工作。

Shell 功能、配置和插件


job control 2.png

2. 将任务丢到后台暂停:ctrl-z

在shell中执行find / -print命令,然后按下ctrl-z将任务丢到后台暂停:

Shell 功能、配置和插件


job control 3.png


由上面打印可知,任务find / -print暂停执行,并将任务放在后台,返回一个job number[2]

3. 查看后台所有任务状态:jobs -l

输入jobs -l 查看后台所有的任务状态:

Shell 功能、配置和插件


job control 4.png


仔细查看打印信息,有没有留意到在PID 7417和7431之前有-和+两个符号,-表示最近第二个被放到后台的任务号码,+表示最近被放到后台的任务号码。

4. 将后台的任务拿到前台处理:fg %jobnumber

输入fg会默认取出+的任务,然后迅速按下ctrl-z

Shell 功能、配置和插件


job control 5.png


看上面打印的PID是7431,确实如此。再次输入jobs -l来查看后台所有任务的信息

Shell 功能、配置和插件


job control 6.png


这次输入fg %1来讲后台的任务拿到前台处理。

5. 将后台的任务变成运行中:bg %jobnumber

输入jobs -l查看任务状态:

Shell 功能、配置和插件


job control 7.png


然后输入bg %2; jobs -l将后台任务变成运行,并查看任务状态,然后不断地输入打印信息,这时需要关闭终端才能kill这个shell进程的子进程。

6. 管理后台当中的任务:kill -signal %jobnumber

有时,任务在后台运行或暂停,这时我想结束这个任务,怎样办呢?你可以使用kill命令将任务结束。
输入find / -print命令,并按下ctrl-z暂停任务:

Shell 功能、配置和插件


job control 8.png


输入kill -9 %1;jobs -l结束任务并显示任务状态:

Shell 功能、配置和插件


job control 9.png

shell script

shell script是利用shell的功能所编写的一个程序,这个程序使用纯文本文件来保存一些shell的命令,并遵循shell的语法规则,搭配数据重定向、管道、和正则表达式等功能来组合各种工具,实现简单重复任务的自动化。

通配符

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14958.html