linux作业代,Linux作业管理(示例代码)

1、前台作业与后台作业

(1)概念前台作业:通过终端启动,并且在启动后一直占据终端。

后台作业:启动时与终端无关,或者通过终端启动后转入后台运行(即释放终端),不影响用户继续在终端中工作。

(2)如何将前台作业转入后台正在运行中的作业使用 Ctrl + Z 组合键将命令调至后台并停止运行;

尚未启动的作业则直接在命令后面添加“ & ”字符即可。

注意:后台作业虽然被送往后台运行,但其依然与程序的启动终端相关,如果退出终端,那么此终端的后台作业也随之关闭。如果希望送往后台的作业脱离与其启动终端的关系,可以使用nohup命令达到目的。

(3)nobup命令nohup命令可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端。如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中(此文件存放在用户的当前工作目录“ echo $PWD ”)当然我们也可以给nohup命令指定一个输出位置。

1)语法nohup COMMAND [ARG]...

2)示例[[email protected] cron.hourly]# echo $PWD/etc/cron.hourly

[[email protected] cron.hourly]# nohup ping 127.0.0.1 &[2] 4142[[email protected] cron.hourly]# nohup: ignoring input and appending output to `nohup.out‘^C

[[email protected] cron.hourly]# ls0anacron  nohup.out

[[email protected] cron.hourly]# cat nohup.out PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.264 ms64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.061 ms64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.060 ms64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.128 ms

(4)jobs命令jobs命令用于显示Linux中的任务列表及任务状态,包括后台运行的任务。

1)语法jobs [-lnprs] [jobspec ...]

2)选项-l:显示进程号;-p:仅显示对应任务的进程号;-n:显示任务状态的变化;-r:仅输出运行状态(running)的任务;-s:仅输出停止状态(stoped)的任务。

3)示例

8ee52e1a34a02cb0eb713167d1f6551c.png

2、作业管理的相关命令

(1)fg命令将后台作业(在后台运行的或者在后台挂起的作业)放到前台终端运行。若后台任务中只有一个,则使用该命令时,可以省略任务号。

1)语法fg [job_spec]

2)示例

33bcadaa9f74d2b01c6488544b76ae84.png

(2)bg命令将作业放到后台运行,使前台可以执行其他任务。该命令的运行效果与在指令后面添加符号“ & ”的效果是相同的。也可将已经在后台的停止的任务继续再后台运行。

1)语法bg [job_spec ...]

2)示例

c4110d45cb32575f70f8f6ec8097a38b.png

(3)kill命令kill命令主要用来终止后台程序的,常用的信号有:1) SIGHUP:无须关闭进程而让其重读配置文件2) SIGINT:中止正在运行的进程;相当于Ctrl+c9) SIGKILL:杀死正在运行的进程15) SIGTERM:终止正在运行的进程18) SIGCONT:让后台作业继续运行19) SIGSTOP:将作业放入后台休眠

23914de4c8e66c75564648cdab4d184a.png

3、设置进程的优先级

进程的优先级越高,程序越先被执行。系统默认的优先值范围为100至139,此值越小优先级越高。不过系统中存在一个命令可以调整进程优先级,被称为nice(命令)值,此值的范围为-20至19,也是值越小优先级越高,因此,进程的优先级=进程优先级(旧)+nice值。比如,进程A的系统优先值为115,进程B的系统优先值为120,很明显进程A的优先级比进程B高,但是我们可以调整进程B的nice值为-10,此时进程的优先级就变为110了,会优先被CPU执行。

(1)nice命令适用于未启动的进程

1)语法nice [OPTION] [COMMAND [ARG]...]-n:指定优先级数值

2)示例[[email protected] testdir]# ./test.sh &[1] 4975[[email protected] testdir]# nice -n -10 ./test.sh &[2] 4983[[email protected] testdir]# ps -lF S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD4 S     0   4757   4753  0  80   0 - 27121 wait   pts/2    00:00:00 bash0 T     0   4975   4757  0  80   0 - 26527 signal pts/2    00:00:00 test.sh4 T     0   4983   4757  0  70 -10 - 26527 signal pts/2    00:00:00 test.sh4 R     0   4984   4757  0  80   0 - 27035 -      pts/2    00:00:00 ps

[2]+  Stopped                 nice -n -10 ./test.sh

(2)renice命令适用于已经运行的进程

1)语法renice [-n] priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]

2)选项-n:指定优先级数值-g:指定进程组id;-p:改变该程序的优先权等级,此参数为预设值。-u:指定开启进程的用户名。

3)示例

944b4136981c9542c8d44d8b206ce206.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值