目录
Linux中进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并会消耗一定的系统资源。
对进程进行管理主要是通过查看、终止和实时监控进程。
查看进程我们这里介绍两种方法:一种是ps,一种是pstree。
ps查看当前系统进程状态,其语法格式如下:
ps [选项] | grep 进程关键字 # 查看系统中所有进程
常用的可选参数有:
a:列出带有终端的所有用户的进程;
x:列出当前用户的所有进程,包括没有终端的进程;
u:面向用户友好的显示风格;
-e:列出所有进程;
-u:列出某个用户关联的所有进程;
-f:显示完整格式的进程列表
在上面的选项中,我们通常把参数组合在一起使用,如aux和-ef,aux组合参数显示sshd的进程示例代码如下:
ps aux | grep ssh
其输出格式为:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
其中:
USER:表示进程是由哪个用户产生的;
PID:进程的ID号;
%CPU:该进程占用CPU资源的百分比;
%MEM:该进程占用物理内存的百分比;
VSZ:该进程占用虚拟内存的大小,单位为KB;
RSS:该进程占用实际物理内存的大小,单位为KB;
TTY:该进程是在哪个终端中运行的,对于CentOS来说,uyl是图形化终端;
tty2-tty6:是本地的字符界面终端。pts/0-255代表虚拟终端;
STAT:进程的状态,常见的状态有:运行状态(R)、休眠状态(S)、暂停状态(T)、僵尸状态(Z)、包含子进程(s)、多线程(I)、前台展示(+)。
START:进程的启动时间;
TIME:该进程占用CPU的运算时间,注意不是系统时间。
COMMAND:产生此进程的命令名。
如下图所示:
-ef组合参数显示sshd的进程示例代码如下:
ps -ef | grep sshd
如下图所示:
pstree命令将所有进程以树状图显示,当有指定使用者id时,树状图会只显示该使用者所拥有的进程。其语法格式如下:
pstree [选项]
常用可选参数有:
-p:显示进程的PID;
-u:显示进程的所属用户;
示例代码如下:
- pstree # 显示所有进程
- pstree -apnh # 显示进程间的关系
- pstree -u # 显示用户名称
如下图所示:
使用top命令来实时监控系统进程状态,其语法格式如下:
top [选项]
常用可选参数有:
-d秒数:指定top命令每隔几秒更新,默认是3秒在top命令的交互模式当中可以执行的命令;
-i:使top不显示任何闲置或僵死进程;
-p:通过指定监控进程id来监控某个进程的状态;
示例代码如下:
- top # 显示进程信息
- top -d 3 # 每三秒刷新一次
使用kill命令来终止进程,其语法格式如下:
- kill [选项] 进程号 # 通过进程号杀死进程
- killall 进程名称 # 通过进程名杀死进程,支持通配符,这在系统因负载过大而变得很慢时很有用
可选参数有:
-g:强迫进程立即停止;
示例代码如下:
- ps -v
- kill -9 5931
如下图所示:
好了,Linux系统命令——进程管理命令就学到这里了。
公众号:白巧克力LIN
该公众号发布Python、数据库、Linux、Flask、自动化测试、Git等相关文章!
- END -