码迷,mamicode.com
首页 > 其他好文 > 详细

工作管理

时间:2020-03-21 14:58:14      阅读:66      评论:0      收藏:0      [点我收藏+]

标签:情况   来源   amp   意思   状态   登录   job   无法   top   

工作管理

工作管理是在单一终端机接口处同时进行多个工作的行为管理,其实同时开启多个终端机一样能同时完成多个任务,但是由于某些情况下可能限制用户只能开启一个终端机接口,此时就要用工作管理。

在进行工作管理时,所有的工作都是当前bash的子进程,当前的工作管理无法从终端tty1管理tty2,进行工作管理有几个限制条件:

1、这些工作所触发的进程必须来源于当前shell的子进程

2、可以放入背景运行的工作不能等待系统交互,也不能用ctrl+c终止

丢到背景执行:&

在执行的命令后加&可以直接将任务放在后台执行,执行这条语句后前台会打印一个用中括号括起来的job号码和指令触发的PID,有时虽然任务被放到后台,但是输出信息还是会挤满前景,此时可以将输出信息重定向到一个文件中,然后放入后台执行,这样可以保证其他指令输入时不被打断:

tar -zpcvf /tmp/etc.tar.gz /etc > /tmp/log.txt 2>&1 &

丢到背景中暂停执行:ctrl+z

按ctrl+z可以将命令放在背景中,执行后会出现中括号括起来的job号码。

控制job的运行

显示后台运行的程序:jobs -l,-l的意思是显示pid。jobs命令会显示多行,一行代表一个后台工作,行首代表后台工作编号,后面会跟一个+或-,也可能没有符号标记,+代表最后放入后台的工作(也是恢复时首先恢复的),-代表倒数第二个放入后台的工作。每个job都会有对应的状态,Running代表后台运行,Stoppd代表暂停。

恢复后台运行的程序:fg %工作号不加%代表恢复+对应的后台工作。

让后台暂停的工作恢复到后台执行:bg %工作号(这个命令必须不能和前台有交互才能恢复到后台执行,如top)

强制移除后台任务:kill -9 %job号,正常结束后台任务:kill -15 %job号

脱机管理

之前的所有放入后台的程序仅仅是将任务放到当前bash的背景下运行,而不是放到系统的背景中运行,也就是说远程连接到linux将任务放到背景中执行,断开和linux的连接会导致这些任务中断,如果想断开连接后继续生效,可以用at指令,也可以用nohup指令:nohup 命令 &

这个指令的效果就相当于放入后台执行,只不过退出登录后依然在执行,但是注意nohup不支持bash内建的命令。

工作管理

标签:情况   来源   amp   意思   状态   登录   job   无法   top   

原文地址:https://www.cnblogs.com/shizhuoping/p/12539010.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!