Linux中进程的管理

1.什么时进程?
程序放置在存储媒体中(如硬盘,光盘,软盘,磁带等),为实体文件的型态存在
进程:程序被触发后,执行者的权限与属性,程序的程序码与所需数据等都会被载入内存中,操作系统并给与这个内存内的单元一个识别码(pid),可以说,进程就是一个正在运行的程序。
2.进程的状态
R(Running):正在运行
S(Sleep):程序最小化状态目前正在睡眠状态,但可唤醒(signal)
D:不可被唤醒的睡眠状态,通常进程可能在等待I/O情况。
T:停止状态(stop),可能是在工作控制(背景暂停)或除错(traced)状态。
Z(Zomblie):僵尸状态,程序已经终止但却无法被移除

2.查看进程:
PS :
ps -A ##查看所有进程
Linux中进程的管理
ps -a ##查看当前程序中运行的进程,但不包含环境信息
Linux中进程的管理

ps a ##查看当前程序中运行的进程
Linux中进程的管理

ps -u ##查看进程用户信息
Linux中进程的管理

ps f ##查看进程的父子关系
Linux中进程的管理

ps e ##显示进程的详细信息
Linux中进程的管理

常用组合:
ps aux ##显示系统中所有进程并显示进程用户
Linux中进程的管理

 USER:启动该进程的用户账号名称

PID:该进程的ID号,在当前系统中是唯一的

TTY:该进程在哪个终端上运行。“?”表未知或不需要终端

STAT:显示了进程当前的状态,如S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程)。对处于僵死状态的进程应予以手动终止。

START:启动该进程的时间

TIME:该进程占用CPU时间

COMMAND:启动该进程的命令的名称

%CPU:CPU占用的百分比

%MEM:内存占用的百分比

VSZ:占用虚拟内存(swap空间)的大小

RSS:占用常驻内存(物理内存)的大小

ps ef ##显示进程详细信息并显示进程父子关系
Linux中进程的管理
ps ax ##显示当前系统的所有进程
Linux中进程的管理

pstree ##显示当前系统进程树

 3.显示进程指定信息

ps -o xxx ##显示进程的指定信息
comm ##进程名称
Linux中进程的管理
user ##进程所有人
Linux中进程的管理
group ##进程所有组
Linux中进程的管理
%cpu ##进程cpu使用率
Linux中进程的管理
%mem ##进程内存使用率
Linux中进程的管理
pid ##进程id
Linux中进程的管理
nice ##进程优先级
Linux中进程的管理

4. 系统进程排序

ps ax --sort=+%cpu ##对使用cpu的进程频率正序排列
Linux中进程的管理
ps ax --sort= -%cpu ##对使用cpu的进程频率倒序排列
ps ax --sort=+%mem ##对使用内存的进程频率正序
Linux中进程的管理
-%mem ##对使用内存的进程频率倒序

5.进程的优先级

1.进程优先级范围
-20~19 ##越小优先级越高
2.优先级查看
ps ax -o pid,nice,comm

3.指定某个进程用某个优先级开启
nice -n 优先级数字 进程pid
Linux中进程的管理

nice -n -5 vim ##开启vim进程以-5的优先级开启 (加&可以使打开的软件不占用终端)

Linux中进程的管理
Linux中进程的管理

6.改变进程优先级(进程已开启的情况下)
renice -n 优先级数字 进程pid
renice -n -3 8548 ##将1806进程的优先级改为3

![](https://s1.51cto.com/images/blog/201904/01/09a94a02bb74efc5d660469db434888d.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
        ![](https://s1.51cto.com/images/blog/201904/01/318e068ffd65a88f62b5493d4a1f251a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)               

7.环境中进程前后台调用

jobs ##查看被打入环境后台的程序
ctrl+z ##把占用终端的进程打入后台
fg jobsnum ##把后台进程调回前台(占用终端)
bg jobsnum ##把后台暂停的进程运行(在该进程界面上仍可使用)
comm & ##让命令直接在后台进行

8.进程信号
常用信号等级
1 进程重新加载配置
2 删除进程在内存中的数据
3 删除鼠标在内存中的数据
9 强行关闭单个进程(不可能阻塞)
15 正常关闭进程(可能会阻塞)
18 运行暂停的进程
19 暂停某个进程(不能被阻塞)
20 把进程打入后台(可以被阻塞)
kill -信号 进程pid

Linux中进程的管理

9.top 进程的动态监控
1 显示cpu每个核的负载
s 调整刷新频率
c CPU负载排序
m 内存使用量排序
h 查看帮助
u 查看指定用户进程
k 对指定进程发起信号
Linux中进程的管理
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:进程的命令

猜你喜欢

转载自blog.51cto.com/12893781/2372713