centos

sys.14.7 Linux系统作业管理(jobs,fg,bg,kill,nohup,nice,renice)

 

Linux系统上的进程查看及管理工具:
pstree , ps , pgrep , pkill , pidof ;
uptime , top ;
htop , vmstat , pmap , glances ;
dstat ;
kill , killall ;
jobs , bg , fg , nohup , nice , renice , …;

关键词:jobs, fg, bg, kill, nohup, nice, renice;

一、作业管理

1.1  Linux系统的作业类型:
前台作业(foregroud) : 通过终端启动,且启动后会一直占据终端;
后台作业(backgroud) : 可以通过终端启动,但启动后即转入后台运行(释放终端);

1.2  把前台作业送往后台:
1> 对于运行中的作业,使用组合键’ctrl+z’可把作业送往后台,送往后台后,作业处于停止态;
2> 对于尚未启动的作业,使用’COMMAND &’方式可把作业送往后台,此类作业虽然被送往后台,但其依然与终端相关联,
如果终端终止,则送往后台的作业也会终止;如果希望把送往后台的作业玻璃与终端的关系,可使用如下方式’nohup COMMAND &’;

1.3  查看后台作业列表:
~]#  jobs

1.4  作业控制常用命令:
fg   :  把指定的后台作业调出到前台,并继续运行;
bg  :  把放置在后台的停止的作业让其继续在后台运行;
kill :  此处的’kill’命令的作用对象是作业,而非进程;终止指定的作业;

备注,上面3个命令后面可接作业号来实现对后台作业的管理;

作业控制命令的格式:
~]# fg  [[%]JOB_NUM]
~]# bg  [[%]JOB_NUM]
~]# kill  %JOB_NUM

二、调整进程优先级

进程优先级:0-139
1-99 : 实时优先级;数字越大,优先级越高;一般很少需要人工干预;
100-139:静态优先级;数字越小,优先级越高;

Nice值:-20至19
Nice值对应于进程优先级的100至139;其中,Nice值的-20对应进程优先级的100,Nice值的19对应进程优先级的139;
可通过调整进程的’Nice’值来改变进程的优先级;

通过调整’nice’值来改变进程优先级,改变的进程优先级只能是进程的静态优先级;
进程启动时,其默认的’nice’值为’0′,即进程优先级默认是’120′;

2.1 nice 命令:
以指定的’nice’值启动并运行命令;仅管理员可调低’nice’值;

命令说明:运行一个修改调度优先级的程序;
nice – run  a  program  with  modified  scheduling  priority

命令格式:
nice  [OPTION]  [COMMAND  [ARG]…]

2.2 renice 命令:

命令说明: 更改运行中的进程的优先级;
renice – alter  priority  of  running  processes

命令格式:
renice  [-n]  NICE_NUM  PID

举例1:指定优先级,然后启动某命令;
~]# nice  -n  -5   htop

举例2:对正在运行的某进程调整其’nice’值,除了要指定’nice’值外,还需指定此进程的PID号;
~]# renice  -n  0  PID

F.E

把作业送往后台(ctrl+z);
-----------------
[root@kouyuushinn ~]# ping baidu.com
PING baidu.com (123.125.115.110) 56(84) bytes of data.
64 bytes from 123.125.115.110 (123.125.115.110): icmp_seq=1 ttl=128 time=36.4 ms
64 bytes from 123.125.115.110 (123.125.115.110): icmp_seq=2 ttl=128 time=35.3 ms
64 bytes from 123.125.115.110 (123.125.115.110): icmp_seq=3 ttl=128 time=35.8 ms
^Z
[1]+  Stopped                 ping baidu.com
[root@kouyuushinn ~]# vim kill.test

[2]+  Stopped                 vim kill.test
[root@kouyuushinn ~]# 
[root@kouyuushinn ~]# htop

[3]+  Stopped                 htop
[root@kouyuushinn ~]# glances 

[4]+  Stopped                 glances
[root@kouyuushinn ~]# 

查看后台作业(jobs):
---------------------------
[root@kouyuushinn ~]# jobs
[1]   Stopped                 ping baidu.com
[2]   Stopped                 vim kill.test
[3]-  Stopped                 htop
[4]+  Stopped                 glances
[root@kouyuushinn ~]# 

备注1:上面后台作业列表中,作业序号后面的'+'号表示优先级最高;
使用命令'fg',不带任何选项参数时,默认调用的是优先级最高的后台作业;

 

Leave a Reply

Your email address will not be published. Required fields are marked *