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)示例

2、作业管理的相关命令

(1)fg命令

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

1)语法

fg [job_spec]

2)示例

(2)bg命令

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

1)语法

bg [job_spec ...]

2)示例

(3)kill命令

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

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)示例

时间: 2024-10-10 03:22:52

Linux作业管理的相关文章

12.2、linux作业管理、调整进程优先级

1.linux作业分类: 前台作业:foreground,通过终端启动,且启动后会一直占据终端 后台作业:background,可以通过终端启动,但启动后会转入后台,释放终端占用 作业可能包含多个程序,也可以只包含一个程序. 2.作业被转入后台方法: 运行中的作业:ctrl+z 注意:送往后台,作业会转为停止态 尚未运行的作业:command &  //命令command后跟一个&,表示作业送往后台 注意:此类作业虽然被送往后台,但是他依然与终端相关,如果希望把送往后台的作业剥离与终端的关

Linux进程及作业管理

一.进程查看及其管理工具 --------------------------------------------- ps命令:报告当前进程的快照信息 ps - report a snapshot of the current processes. 选项: -A:显示所有进程与-e相同的效果 -a:不与终端相关的所有进程 -u:与用户相关的进程 -x:通常和a,u结合使用,显示出来比较全面的信息 -f:做一个更为完整的输出 常用的组合:     ps -ef 以完整的信息显示所有进程信息   

Linux系统--Linux进程与作业管理(2)

Linux系统--Linux进程与作业管理(2) Linux进程相关的基本概念已经了解,Linux进程管理的一些命令: pstree,ps,pidof,pgrep,top,htop,glance,pmap,vmstat,dstat,kill,pkil,job,bg,fg,nohup 1.pstree命令: pstree - display a tree of processes:以树状形式显示当前系统进程,和命令tree相似. 2.ps命令: ps - report a snapshot of 

Linux 进程和作业管理

Linux进程和作业管理 ================================================================= 内核的功能:进程管理(进程调用,保存现场,恢复现场).文件系统.网络功能.驱动功能.安全功能 process:运行中的程序的一个副本: 存在生命周期 linux内核存储进程信息的固定格式:task struct(任务结构) 多个任务的task struct组件的链表:task list(任务列表) 进程创建: init进程是由内核创建,其余

Linux系统--Linux进程与作业管理(1)

Linux系统--Linux进程与作业管理(1) 先了解一些基本概念:内核的功能,程序的组成,进程,进程的类型和运行状态,进程的分类,Linux中的第一个进程init,Linux内核存储进程信息的格式,进程的优先级,进程间的通信. 1.Linux内核的功能和程序的组成: Linux内核是一种开源电脑操作系统.是用来与硬件打交道并为用户程序提供一个有限服务集的软件.Linux内核支持模块化,支持模块的动态加载和卸载,可以把模块驱动编辑到内核中,也可以不编辑到内核,直接调用需要的模块.Linux内核

Linux基础之进程及作业管理(一)

Linux进程及作业管理 内核的功用:进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能 Process: 运行中的程序的一个副本: 存在生命周期 Linux内核存储进程信息的固定格式:task struct 多个任务的的task struct组件的链表:task list 进程创建: init 父子关系 进程:都由其父进程创建 fork(), clone() 进程优先级: 0-139: 1-99:实时优先级: 100-139:静态优先级: 数字越小,优先级越高: Nice值: -20,

Linux基础之进程及作业管理(二)

Linux进程及作业管理(2) CentOS 6: http://172.16.0.1/fedora-epel/ CentOS 7: http://172.16.0.1/fedora-epel/ 进程管理类命令: htop命令: 选项: -d #:指定延迟时间间隔: -u UserName:仅显示指定用户的进程: -s COLUME:以指定字段进行排序: 子命令: l:显示选定的进程打开的文件列表: s:跟踪选定的进程的系统调用: t:以层级关系显示各进程状态: a:将选定的进程绑定至某指定的C

Linux系统--Linux进程与作业管理(3)

Linux系统--Linux进程与作业管理(3) Linux进程管理和作业管理的另外几种管理命令:vmstat,dstat,pmap,glances,kill 1.vmstat命令: vmstat - Report virtual memory statistics vmstat命令可以看到整个机器的CPU,内存,IO等使用情况.此命令不是动态显示的,需要手动进行刷新. vmstat #:相隔#秒刷新. 直接执行vmstat命令的结果为: 各个字段的含义: procs: r:等待运行的进程的个数

Linux之进程管理(3)作业管理

Linux之进程管理(3)作业管理 Linux的作业控制介绍: 前台作业:通过终端启动,且启动后一直占据终端: 后台作业:可通过终端启动,但启动后转入后台运行(释放终端): 让进程作业运行在后台: 1.对运行中的进程:使用Ctrl+z 2.尚未启动的作业:COMMAND &  (在命令行的最后面加一个&符号) 后台作业与终端关系的处理: 后台作业虽然被送往后台允许,但其依然与终端相关:退出终端,将关闭后台作业.如果希望送往后台后,同时剥离与终端的关系.可以使用下面两种方法: 1.# noh