红联Linux门户
Linux帮助

Linux的进程管理和作业控制

发布时间:2014-12-17 21:50:45来源:linux网站作者:evolution

read命令的用法:

read 选项 变量  #read实现的作用是将从键入的字符串赋值给变量

-p 在键入命令之前先显示一段字符

-t 等待用户输入的超时时间

-a 将键入的数据赋值给数组


变量的拓展:

$?:用于存放最后一次命令执行的返回值,将每个变量作为一个字段添加分隔符

$*:用于引用所有变量的参数,将所有的字段看作为一个字段加入分隔符

$@:用于引用所有变量的参数
$#:显示命令项脚本传入参数的个数
$0:显示脚本的当前名字以及路径

$$:查看自身命令的进程
$!:查看最后一次执行在后台的进程号
$_:引用最后一次执行完毕的结果
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->

脚本退出命令exit

exit + 返回值   #从脚本退出并将返回值设定为后跟的数


一个简单的用于脚本生成的脚本:

文件名 nsh

1 #!/bin/bash
2 #
3 ls $1 &> /dev/null && vim $1
4 ls $1 &> /dev/null ||cat> $1 <<EOF
5 #!/bin/bash
6 #:Title:
7 #:Synopsis:
8 #:DateTime:`date +"%F %T"`
9 #:Version:Unknow
10 #:Author: RedHat_hu
11 #:Option:None
12
13 EOF
14 vim +8 $1
15 chmod +x $1


使用方法:nsh 脚本名

说明:

1.shbang行

2.判断新建的脚本名是否存在,若存在,则使用vim打开此文件

3.若不存在,则向其中导入4~11行内容

4.导入后使用vim打开新脚本,并将光标定位在新脚本的第八行

5.新脚本退出vim后赋予可执行权限


linux进程管理:

进程:是计算机分配系统资源的基本单位

linux中进程优先级分为:静态优先级 100~139(可人为控制),动态优先级 0~99(有kernel控制)。(优先级越小则越高)

对静态有限的控制由nice值来实现,nice取值范围-20~19与静态优先级100~139一一对应,进程启动默认nice为0,给出让出cpu使用权的进程,nice值上升,优先级下降。

进程查看相关命令:

ps命令

ps option

-e 显示所有进程

-a 显示与终端无关的进程

-x 显示与终端有关的进程

-u 显示进程的发起者

-o 自定义显示哪些字段

常用ps aux

top option以动态的形式显示当前进程的数据

-b batch mode以文本的方式显示进程数据

-d delay time动态的刷新时间

-n 显示次数

pgrep option processname

无选项默认输出进程pid

-u 查看进程发起者的uid

-g 查看进程发起者的gid

pidof processname

查看某进程的进程号

pstree 显示所有进程的进程树

-p 显示pid

与进程显示相关的字段

PID:进程号

PPID:父进程号(所有进程都有init进程派生)

TTY:标示进程与哪个终端相关

STAT:进程的状态

D:不可中断的睡眠状态,例如I/O操作中

R:运行/就绪态

S:可中断的睡眠态

T:stop停止态

Z:僵尸态(进程结束但是尚未释放资源)

1、当前进程处于结束中,其父进程正在为其清理占用资源

2、子进程结束时发现父进程在其之前结束,无法清理释放占用资源

TIME:进程获得CPU的时间

COMMAND:进程的发起命令

%CPU:进程的cpu占用率

%MEN:进程的内存占用率

VSZ:进程在虚拟内存集中的占用大小

RSS:进程在物理内存集中的占用大小

进程间通信机制:IPC主要分为共享内存和信号量的进程间发送。

信号量控制命令kill

kill option SIG pid

-l 查看所有的信号量


信号量:

1:SIGHUP    若进程是服务发送此信号量重载配置文件

2:SIGINT    结束当前作业ctrl+c

9:SIGKILL   强行杀死进程

15:SIGKTERM    结束进程,让进程自行关闭

18:SIGCONT      将停止的进程继续

19:SIGSTOP       将运行进程停止

killall 进程名

杀死所有与进程名相关的进程

nice值的修改

nice命令启动进程时制定nice值

nice –n 数值 命令  设定命令运行时初始值

renice 数值 进程号      设定运行中的进程nice值


作业控制:

作业分为前台作业和后台作业,以是否占用shell来区分。

将命令启动即放入后台执行:

命令 &

nohup命令可以实现关闭终端后命令仍执行

前台、后台切换

ctrl+z 将当前作业送入后台并停止

fg 作业号 #将作业从后台调入前台

bg 作业号 #将前台作业调入后台并运行,将后台作业从停止转为运行

kill %作业号 #杀死作业 (默认15)

free显示内存信息(默认以K为单位)

-m 以兆为单位显示

uptime显示启动时间以及平均负载

vmstat 时间(秒) 显示内存信息,按秒数刷新