Linux中进程的管理
1.什么时进程?
程序放置在存储媒体中(如硬盘,光盘,软盘,磁带等),为实体文件的型态存在
进程:程序被触发后,执行者的权限与属性,程序的程序码与所需数据等都会被载入内存中,操作系统并给与这个内存内的单元一个识别码(pid),可以说,进程就是一个正在运行的程序。
2.进程的状态
R(Running):正在运行
S(Sleep):程序最小化状态目前正在睡眠状态,但可唤醒(signal)
D:不可被唤醒的睡眠状态,通常进程可能在等待I/O情况。
T:停止状态(stop),可能是在工作控制(背景暂停)或除错(traced)状态。
Z(Zomblie):僵尸状态,程序已经终止但却无法被移除
2.查看进程:
PS :
ps -A ##查看所有进程
ps -a ##查看当前程序中运行的进程,但不包含环境信息
ps a ##查看当前程序中运行的进程
ps -u ##查看进程用户信息
ps f ##查看进程的父子关系
ps e ##显示进程的详细信息
常用组合:
ps aux ##显示系统中所有进程并显示进程用户
USER:启动该进程的用户账号名称
PID:该进程的ID号,在当前系统中是唯一的
TTY:该进程在哪个终端上运行。“?”表未知或不需要终端
STAT:显示了进程当前的状态,如S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程)。对处于僵死状态的进程应予以手动终止。
START:启动该进程的时间
TIME:该进程占用CPU时间
COMMAND:启动该进程的命令的名称
%CPU:CPU占用的百分比
%MEM:内存占用的百分比
VSZ:占用虚拟内存(swap空间)的大小
RSS:占用常驻内存(物理内存)的大小
ps ef ##显示进程详细信息并显示进程父子关系
ps ax ##显示当前系统的所有进程
pstree ##显示当前系统进程树
3.显示进程指定信息
ps -o xxx ##显示进程的指定信息
comm ##进程名称
user ##进程所有人
group ##进程所有组
%cpu ##进程cpu使用率
%mem ##进程内存使用率
pid ##进程id
nice ##进程优先级
4. 系统进程排序
ps ax --sort=+%cpu ##对使用cpu的进程频率正序排列
ps ax --sort= -%cpu ##对使用cpu的进程频率倒序排列
ps ax --sort=+%mem ##对使用内存的进程频率正序
-%mem ##对使用内存的进程频率倒序
5.进程的优先级
1.进程优先级范围
-20~19 ##越小优先级越高
2.优先级查看
ps ax -o pid,nice,comm
3.指定某个进程用某个优先级开启
nice -n 优先级数字 进程pid
nice -n -5 vim ##开启vim进程以-5的优先级开启 (加&可以使打开的软件不占用终端)
6.改变进程优先级(进程已开启的情况下)
renice -n 优先级数字 进程pid
renice -n -3 8548 ##将1806进程的优先级改为3
7.环境中进程前后台调用
jobs ##查看被打入环境后台的程序
ctrl+z ##把占用终端的进程打入后台
fg jobsnum ##把后台进程调回前台(占用终端)
bg jobsnum ##把后台暂停的进程运行(在该进程界面上仍可使用)
comm & ##让命令直接在后台进行
8.进程信号
常用信号等级
1 进程重新加载配置
2 删除进程在内存中的数据
3 删除鼠标在内存中的数据
9 强行关闭单个进程(不可能阻塞)
15 正常关闭进程(可能会阻塞)
18 运行暂停的进程
19 暂停某个进程(不能被阻塞)
20 把进程打入后台(可以被阻塞)
kill -信号 进程pid
9.top 进程的动态监控
1 显示cpu每个核的负载
s 调整刷新频率
c CPU负载排序
m 内存使用量排序
h 查看帮助
u 查看指定用户进程
k 对指定进程发起信号
PID: 进程描述符
USER: 进程的拥有者
PRI:进程的优先级
NI: nice level
SIZE: 进程拥有的内存(包括code segment + data segment + stack segment)
RSS: 物理内存使用
VIRT(virtul memory usage): 进程需要的虚拟内存大小
RES(resident memory usage): 常驻内存
SHARE: 和其他进程共享的物理内存空间
STAT:进程的状态,有 S=sleeping,R=running,T=stopped or traced,D=interruptible sleep(不可中断的睡眠状态),Z=zombie。
%CPU: CPU使用率
%MEM: 物理内存的使用
TIME: 进程占用的总共cpu时间
COMMAND:进程的命令
转载于:https://blog.51cto.com/12893781/2372713