追风赶月莫停留,平芜尽处是春山。这篇文章主要讲述脚本控制------------------------(作业控制查看作业jobs命令重新启动停止的作业)相关的知识,希望能为你提供帮助。
5.3 作业控制
使用Ctrl+Z组合键停止shell运行中的作业。停止作业后,Linux系统会让用户终止或重启它。可以使用kill命令终止进程。重启停止的进程需要向它发送SIGCONT信号。
重启、停止、终止和恢复作业的操作称为作业控制(job control)。使用作业控制可以完全控制进程以shell环境中运行的方式。
5.3.1查看作业
作业控制的关键命令是jobs命令。jobs命令可以查看shell处理的当前作业:
脚本使用$$变量显示Linux系统分配给脚本的PID,然后进入循环,每次迭代间隔5秒。通过命令行节目启动第一个脚本,然后使用Ctrl+Z组合键停止它。接下来,使用&
符号以后台进程方式启动另一个作业,并将该脚本的输出重定向到一个文件,以便不会在监视器上显示。
作业启动之后,使用jobs命令查看分配给shell的作业。jobs命令即可以显示停止的作业也可以显示作业状态,还包括作业编号以及作业中使用的命令。jobs命令使用的一些不同参数:
输出中的加号和减号。带有加号的作业被视为默认作业。如果命令行没有指定作业编号,则它应该是任何作业控制命令引用的作业。带有减号的作业实在处理完当前默认作业之后将成为默认作业的作业。某一时间点,只能有一个带有加号的作业,也只能有一个带有减号的作业,无论shell中运行了多少作业。
示例说明,当移除当前默认的作业后,排在下一个作业如何接管默认状态:
在kill掉当前默认作业,之前带有减号的作业,变成了默认作业。
5.3.2重新启动停止的作业
在bash作业控制下,能够以后台进程或前台进程的形式重新启动任何停止的作业。前台进程将控制正在处理的终端,因此谨慎使用特性。要以后台模式重新启动作业,可以使用带有作业编号的bg命令。bg命令格式:bg 作业编号
bg命令操作实例:
以后台模式重新启动作业,出现命令行界面提示符,能够继续处理其他命令。要以前台模式重新启动,可以使用带有作业编号的fg命令:fg 作业编号。
fg操作实例:
作业现在以前台模式运行,在作业完成无法使用命令行界面提示符。
【脚本控制------------------------(作业控制查看作业jobs命令重新启动停止的作业)】
推荐阅读
- sedgawk介绍与正则表达式-----------(正则表达式定义与类型)
- sedgawk介绍与正则表达式-----------(sed编辑器基础知识)
- 脚本控制------------------------(nice与renice命令进程优先级控制)
- sedgawk介绍与正则表达式-----------(sed编辑器简单使用)
- 脚本控制------------------------(以后台模式运行脚本nohup)
- 创建函数-----------(select命令操作实例)
- 处理用户输入与显示数据------------(创建本地临时文件在/temp中创建临时文件创建临时目录tee命令)
- 创建函数-----------(在.bashrc文件中定义函数在命令行创建函数在命令行中使用函数)
- 处理用户输入与显示数据------------(禁止命令输出lsof命令关闭文件描述符创建读取/写入文件描述符)