吹静静

欢迎QQ交流:592590682

工作管理简介

工作管理指的是在单个登陆终端中(也就是登陆的shell界面中)同时管理多个工作的行为。

注意事项:

当前的登陆终端,只能管理当前终端的工作,而不能管理其他终端的工作;

放入后台的命令必须可以持续运行一段时间,这样我们才能扑捉和操作这个工作;

放入后台执行的命令不能和前台用户有交互或需要前台输入,否则放入后台只能暂停,而不能执行。

工作管理方法

1、把进程放入后台

[root@localhost ~]# tar -zcf etc.tar.gz /etc &

# 把命令放入后台,并在后台执行

 

top

# 按下 ctrl + z 快捷键,放在后台暂停

注:需要与用户进行交互的命令放到后台不会暂停

2、查看后台的工作

[root@localhost ~]# jobs [-l]

选项:

  -l:显示工作的PID

注:“+” 号代表最近一个放入后台的工作,也是工作恢复时,默认恢复的工作。“-” 号代表倒数第二个放入后台的工作。

 

3、将后台暂停的工作恢复到前台执行

[root@localhost ~]# fg %工作号

参数:

  %工作号:%可以省略,但是注意工作号和PID的区别

4、把后台暂停的工作恢复到后台运行

[root@localhost ~]# bg %工作号

注:后台恢复执行的命令,是不能和前台有交互的,否则不能恢复到后台执行

后台命令脱离登陆终端执行

把命令放入后台,只能在当前登陆终端执行,一旦退出或关闭终端,后台程序就会停止。

原因:当我们执行logout命令或者直接关掉终端,系统会给默认把SIGHUP配置文件读取一遍,也就是说向当前终端下的所有后台程序都发送一遍SIGHUP命令,把所有程序都终止掉。

后台命令脱离登陆终端执行的方法

第一种方法是把需要后台执行的命令加入/etc/rc.local文件(推荐)

第二种方法是是系统定时人物,让系统在指定的时间执行某个后台命令(不推荐)

第三种方法是使用nohup命令(推荐)

nohup  [命令]  &

举例

[root@localhost ~]# vi for.sh

[root@localhost ~]# nohup /root/for.sh  &

 

posted on 2018-03-14 21:16  吹静静  阅读(154)  评论(0编辑  收藏  举报