博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux 进程管理
阅读量:3969 次
发布时间:2019-05-24

本文共 2588 字,大约阅读时间需要 8 分钟。

在这里插入图片描述

进程就是运行中的程序,一个运行的程序可能有多个进程。

进程分类

进程一般分为交互进程、批处理进程和守护进程。守护进程是活跃的,一般在后台运行,守护进程一般是由系统开机时通过脚本自动激活启动或超级管理员root来启动。fedora和redhat中可以定义httpd服务器的启动脚本的运行级别,httpd文件在/etc/init.d目录下。当把它的运行级别设置为3和5时,当系统启动时,他就会启动。

进程的属性

进程ID(PID):是唯一的数值来区分进程

父进程和父进程的ID(PPID)
启动进程的用户ID(UID)和所归属的组(GID)
进程状态:运行R、休眠S、僵尸Z
进程执行的优先级
进程所连接的终端名
进程资源占用:例占用资源大小(内存、CPU占用量)

父进程和子进程

父进程与子进程是管理和被管理的关系,当父进程终止时子进程也随之终止。但子进程终止,父进程并不一定终止。当httpd服务器运行时,我们可以杀掉子进程,父进程并不会因为子进程的终止而终止。

在进程管理时,发现占用资源过多、无法控制的进程时应该杀死它,以保护系统的稳定安全运行。

进程管理命令

ps

ps提供进程的一次性查看,提供的查看结果不是动态连续的,如果想对进程时间监控使用top工具。

参数

参数 作用
l 长格式输出
u 按用户名和启动时间的顺序来显示进程
j 用任务格式来显示进程
f 用树形格式来显示进程
a 显示所有用户的所有进程(包括其他用户)
x 显示无控制终端的进程
r 显示运行中的进程

在这里插入图片描述

User启动进程用户。PID进程标志号。%cpu该应用占用CPU的时间与该进程总的运行时间的对比时间的比例。%MEM表示该进程占用内存和总内存的比例。VSZ表示占用的虚拟内存大小(单位kb)。RSS进程占用物理内存值(单位kb)。TTY表示该进程建立时所对应的终端,?表示该进程不占用终端。STAT表示进程的运行状态,有一下这几种

代码 意义
D 不可中断的睡眠
R 就绪(在可运行队列中)
S 睡眠
T 被跟踪或停止
Z 终止(僵死)进程
W 没有足够的内存分页可分配
N 低优先序的进程
L 有内存分页分配并锁在内存体内(实时系统或I/O)

START表示进程开始时间。TIME表示执行时间。COMMAND命令名。

常用方法

ps aux | more 分页查看

ps aux > ps.txt 将输出结果保存
more ps.txt 使用more分页查看保存的输出文件

使用grep获取指定进程

ps aux | grep httpd
父进程与子进程关系友好判断
ps auxf | grep httpd
查看消耗内存最多的前10进程
ps auxf | sort -nr -k 4 | head -10
查看使用CPU最多的前10进程
ps auxf | sort -nr -k 3 | head -10

pstree

pstree命令列出当前的进程,以及它们的树状结构

用法:pstree[选项][pid|user]
参数

参数 作用
-a 显示执行程序的命令与完整参数
-c 取消同名程序,合并显示
-h 对输出结果进行处理,高亮显示正在执行的程序
-l 长格式显示
-n 以PID大小排序
-p 显示PID
-u 显示UID信息
-G 使用VT100终端编码显示
-U 使用UTF-8(Unicode)编码显示

两者比较:ps得到的数据精确,但数据庞大掌握整体情况并不容易。pstree可以将当前执行的程序以树状图结构显示。pstree支持指定特定程序(PID)或用户(USER)作为显示开始。

在这里插入图片描述

top

top命令用来显示系统当前的进程情况

用法:top[选项]
参数选项

参数 作用
d 指定更新的间隔,以秒计算
q 没有任何延迟的更新。如果使用者有超级用户,top命令会以最高的优先序执行
c 显示进程完整的路径与名称
S 累积模式,会将已完成或消失的子进程的CPU时间积累起来
s 安全模式
i 不显示任何闲置(ldle)或无用(Zombie)的进程
n 显示更新的次数,完成后退出

与ps命令区别:top命令与ps命令的基本作用是相同的,但是top是一个动态显示过程,可以不断刷新当前状态。

在这里插入图片描述

第一行:当前时间、系统启动时间、当前系统登陆用户数目、平均负载
第二行:进程总数、正在运行的进程数、睡眠的进程数、停止的进程数、僵尸进程数
第三行:CPU使用情况、用户空间占用CPU百分比、内核空间占用CPU百分比、用户进程空间内改变过优先级的进程占用CPU百分比、空闲CPU百分比、等待输入输出的CPU百分比、
第四行:显示物理内存使用情况,物理内存总量、使用的物理内存总量、空闲内存总量、用作内核缓存的内存量
第五行:显示交换分区使用情况,交换区总量、空闲交换区总量、使用的交换区总量、缓冲区交换区总量
第六行

参数 意义
PID 进程标志号
USER 进程所有者的用户名
PR 进程的优先级别
NI 进程的优先级别数值
VIRT 进程占用的虚拟内存值
RES 进程占用的物理内存值
SHR 进程使用的共享内存值
STAT 进程的状态
%CPU 进程占用的CPU使用率
%MEM 该进程占用的物理内存和总内存的百分比
TIME 该进程启动后占用的总的CPU时间
COMMAND 进程启动的启动命令名称

top使用时可以使用一些交互式命令

参数 作用
空格 立刻刷新
A 分类显示系统不同资源的使用大户。有助于快速识别系统中资源消耗过多的任务
f 添加删除所要显示栏位.
o 调整所要显示栏位的顺序.
r 调整一个正在运行的进程 Nice 值.
k 结束一个正在运行的进程.
z 彩色/黑白显示开关
P 根据 CPU 使用大小进行排序。
T 根据时间、累计时间排序。
q 退出 top 命令。
m 切换显示内存信息。
t 切换显示进程和 CPU 状态信息。
c 切换显示命令名称和完整命令行。
M 根据使用内存大小进行排序。
W 将当前设置写入~/.toprc 文件中。这是写 top 配置文件的推荐方法。

注:top 命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是, 它的缺点是会消耗很多系统资源。

人生漫漫其修远兮,网安无止境。

一同前行,加油!

转载地址:http://fljki.baihongyu.com/

你可能感兴趣的文章
重新理解对象参数的用法
查看>>
2012年开发者该做的11件事
查看>>
利用java实现的一个发送手机短信的小例子
查看>>
2012年1月8号订火车票历程
查看>>
My97日期控件
查看>>
struts中把后台对象传到前台jsp页面上的方法
查看>>
<c:forEach varStatus="status">中 varStatus的属性简介
查看>>
SVN上的常见问题
查看>>
SVN上的常用操作(有图有真相)
查看>>
EL表达式详解
查看>>
mysql数据库介绍
查看>>
不同的数据源,不同的数据操作流程——记录下最近的项目心得
查看>>
Quartz_cron表达式
查看>>
Quartz_框架快速入门
查看>>
POI导出EXCEL经典实现
查看>>
photoshop中常用的图像处理(有图有真相)
查看>>
启动Tomcat时报这样的错误——跟数据库有关
查看>>
frame框架之间的相互引用
查看>>
mysql服务不能自动启动,但可以手动启动
查看>>
iframe自适应高度
查看>>