Redhat_rh033_i
进程就是被载入内存的一个指令集合
进程ID号被用来标记各个进程
ls /proc/ 可以查看进程号
pstree 打印进程树
进程号可以是1-32767之间的数字
其中1只属于init 进程,因为这是一个启动linux的进程 ,所以init进程是其他任何进程的父进程。
D 不可中断的睡眠
R 正在运行或等待运行(所谓等待就是进程所需资源已经准备好了,只等待cpu时间)
S 可中断的睡眠
T 进程中止,进程停止不执行
W paging 与内核版本有关
X dead 死进程
Z “zombie”僵尸进程(父进程非正常丢失,造成子进程无法收回)
s 会话首部
< 高优先级进程
N 低优先级进程
L 页面被锁定入内存当中
l 表示多线程
+ 前台运行的进程
ps命令:
ps的选项:
a 表示与终端有关的进程
X 表示与终端无关的进程
u 以用户为导向,能够显示属主即进程的发起者
o 可以指定段显示
-e 显示所有进程
-f 选项显示进程的父进程
-F 已完全格式显视信息
-l 以长格式显示信息
-L 线程信息
-U 指定用户信息
使用ps au命令各项字段含义:
USER 代表当前用户
PID 代表进程号
%cpu 用户对cpu的使用率
%MEM 物理内存使用的百分比
STAT 使用大写一个字符显示进程状态,后边紧跟状态标识符
START 什么时候发起的进程
TIME 该进程总共获得的cpu累计时间
tty 从哪个终端发起的进程 tty为?表示守护进程
euser 进程的执行者
ruser 进程的发起者
VSZ 占用的虚拟内存集,以k为单位。
RSS 非虚拟内存集,以k为单位
COMMAND 由那个命令发起的进程
所搜进程:
ps axo comm,tty | grep ttyS0
pgrep -U root 指定某个用户的进程
pgrep -G student 指定某个用户组的进程
pgrep -v -u root -d' ' 指定不是root用户的进程号并能用空格分隔开来
pidof bash 查找确切的进程名称
信号:最基本的进程间的通信方式
1.)直接发送给进程,不需要用户界面
2.)程序给每个信号关联动作
3.)发送信号可以使用名称和号码
常见信号:
signal15 TERM 优雅的中止
signal9 KILL 强行终止
signal1 HUP 重新读取配置文件
可用man 7 signal显示完整的信号列表
给进程发送信号:
kill pid 优雅中止某进程
kill -9 pid 强制中止某进程
killall 进程名字 中止某服务的所有进程
killall -i 交互式发送信号
killall -u 用户名 中止某用户的所有进程
调度优先性:
调度优先性决定对CPU的使用,它受nice值的影响,这个值的范围是-20 到 19(默认为 0),且nice值越小对CPU的使用优先级越高,用ps o comm,nice命令可以查看nice的值。
nice -n 5 ifconfig
renice 2 PID
只有跟用户可降低nice的值,普通用户只能提高它的值。
交互式进程管理工具:
命令行:top
top信息字段的描述:
us 用户进程所占CPU比率
sy 系统进程所占CPU比率
ni nice值被改过的进程占所有进程的比率
id 空闲进程所占CPU比率
wa 硬盘读取数据的等待时间
hi 硬件中断时间所占时间比率
si 软件中断时间所占时间比率
st 虚拟的时间所占的比率
Mem 内存
Swap 交换分区
缓冲 buffer 临时暂存
缓存 cache 加速访问
top -b 显示一批,在显示一批
top -b -n 2 显示两遍
top -b -n 2 -d 1 显示两遍并每1s刷新一次
作业控制:
前台执行:dd if=/dev/zero of=/dev/null
后台运行:dd if=/dev/zero of=/dev/null &
暂时停止某个运行程序:使用Ctrl+z或发送信号17(stop)
列举作业号码和名称 jobs(-r处于正在运行状态的作业;-s处于停滞状态的作业)
在后台恢复运行 bg[%作业号码]
在前台恢复运行 fg[%作业号码]
发送信号 kill -[信号] [%作业号码]
任务计划:作业调度
一次性作业使用at;重复性作业使用crontab
使用at命令来调度一次性作业,每行输入一条指令。结束后,重起一行,使用Ctrl+d来宣告输入完毕。
例: at 16:30
>ls -l /etc
>
以Ctrl+d结束,在邮件中接受执行结果
at -f mingling.txt 在文件中读入命令
at -d 3 == atrm 3 把第3个作业删除了
at -q [a-zA-Z](单个字符) 指定队列
使用crontab命令来调度重复进行的作业,cron机制被一个叫做crond的进程控制。跟用户能够使用crontab -u 用户名以及其它选项来修改任何用户的重复作业。
Crontab文件格式:
1.)项目包含五个用空格分隔的字段,然后是执行命令
2.)字段是:分钟,小时,日期,月份,星期
3.)注释行以#号开头
crontab -e 编辑自动化任务作业