进程管理类的命令:
pstree,ps,top,vmstat,htop,pmap
pstree:查看进程树
ps:显示系统当前进程状态的命令
进程:
跟终端相关的进程
跟终端无关的进程
a:所有跟终端相关的进程
ps a
x:所有跟终端无关的进程
ps x
STAT:
S:可中断睡眠
D:不可中断睡眠
R:运行或可运行
T:停止
Z:僵死
s:session leader
l:多线程进程
+:前台进程:
N:低优先级进程
<:高优先级进程
COMMAND:由哪个命令发起的进程
[]:内核线程
u:以用户为中心显示进程相关信息
ps u
%CPU:cputime/realtime
%MEM:占用内存百分比
VSZ:Virtual memory Size 虚拟内存集,虚拟地址空间大小
RSS:实际内存,非可交换内存,常驻内存集
START:启动时间
-ef:
ps -ef
-e:显示所有进程
-f:完整格式列表
-eFH:
ps -eFH
-F:显示额外信息
-H:显示进程层次关系
PSR:运行在哪个CPU上,CPU编号:0,1,2,3
-o 要显示的字段:自定义显示格式
ps -o pid,command
ps axo pid,command
pgrep pattern:
例:pgrep bash
选项;
-U USERNAME:显示相关用户的进程
-G GROUPNAME:显示相关组的进程
pidof:找到某一个进程的ID号
top
M:按内存空间占用大小排序
P:按CPU使用大小排序
T:按累计时间排序
k:杀死一个进程
m:是否显示内存摘要信息
t:是否显示CPU和进程的统计信息
l:是否显示负载信息
q:退出
选项:
-d N:刷新延迟
-b:批次显示
-n N:指定批次显示时显示的批数
vmstat:
vmstat 1:每秒刷新一次
procs
r:运行或等待CPU时间片的进程个数
b:被阻塞(通常为等待IO完成)的进程队列的长度
memory
swpd:从物理内存交换至交换分区的数据量
free:从未使用的物理内存空间
buff:buffer cache的空间大小:通常是缓存写操作相关的数据
cache:page cache的空间大小:通常是缓存读操作相关的数据
swap:
si:swap in:数据进入交换分区中的数据量,即从内存至交换分区中去
so:swap out:数据离开交换分区中的数据量,即从交换分区子内存
io:
bi:block in:从块设备读入的数据量(kb/s)
bo:block out:保存至块设备的数据量(kb/s)
system:
in:interrupt:中断发生的速率,通常为每秒多少次中断请求发生
cs:context switch:上下文切换的速率
cpu:
us:用户进程所占用CPU时间的百分比
sy:内核
id:CPU空闲百分比
wa:CPU用于等待IO完成的时间百分比
st:被虚拟化占去的时间百分比
sar
-u:显示CPU的控制信息
sar
-P:-P指定CPU
sar -P ALL:显示所有CPU的控制信息 sar -P 0:显示0号CPU的控制信息
iostat -c:显示CPU的平均使用率
dstat -c:显示CPU的信息
dstat -C 0,3:显示0号和3号CPU的信息
进程间通信:IPC
共享内存,shm
信号:signal
信号:
1、SIGHUP,让进程不用终止,而重读其配置文件
2、SIGINT,中断正在运行的进程,相当于Ctrl+c
9、SIGKILL,杀死一个进程
15、SIGTERM,终止一个进程
19、SIGSTOP,停止一个进程
18、SIGCONT,继续一个进程
向其它进程传递信号,使用kill
kill -信号 PID 每次进程启用后PID会不一样
kill -SIGKILL 2031或kill -9 2031
killall -信号 进程名
killall -SIGKILL gnome:杀死gnome相关的所有进程
killall5:杀死所有进程
kill -l:列出所有可以使用kill的信号
调整进程nice值:
普通用户:调大数字,调低优先级
只有管理员可以调小数字,调高优先级
-20,19
100,139
nice -n N COMMAND:调整进程的nice值调整为N 一个进程还没有启动,需要手动启动它,只需要指定nice,并指定其nice值为N,这样这个命令就工作在这个nice值N下了
renice N PID:把PID为这个号码的进程的nice值重新调整为其它nice值N
Linux作业控制:
前台:占用着终端:前台作业
后台:无须占用终端
jobs:查看当前作业
前台-->后台:Ctrl+z 送到后台后不会运行
# vim /tmp/test.txt
hello world
Ctrl+z
后台-->前台:fg [[%]JOB_ID] []表示可省
bg [[%]JOB_ID]:让其在后台运行
启动时,让作业直接运行于后台:
COMMAND &
nohup COMMAND & 使命令于终端无关,即终端关闭后命令还能运行
jobs 查看
作业也可以被终止
kill %JOB_ID
axel -n 5 -o /mnt/Soft/down http://a.b.c.d/abc.iso & 在后台下载
nohup axel -n 5 -o /mnt/Soft/down http://a.b.c.d/abc.iso & 终端关闭后还能下载
screen:在一个终端上打开多个屏幕
screen
Ctrl A松开,再按D键:从当前screen屏幕离开,即其自己去后台运行
screen -ls:查看有几个screen在运行
screen -r SCREEN_ID:调出screen屏幕
screen -r 3700
exit:关闭screen