10.8-ps命令

系统管理员一定要知道你所管理的系统都有哪些进程在运行,在 Windows 下只要打开任务管理器即可查看。那么在 linux 下如何查看呢?其实使用前面介绍的 top 命令就可以,但是查看起来没有 ps 命令方便,它是专门显示系统进程的命令。

用 ps 命令查看系统进程
ps aux 列出系统下所有进程
在这里插入图片描述
检查进程

[root@evan-01 ~]# ps aux | grep nginx
root      1270  0.0  0.0 112708   984 pts/0    R+   11:19   0:00 grep --color=auto nginx
[root@evan-01 ~]# 

ps -elf 和 ps aux 显示信息基本一样

[root@evan-01 ~]# ps -elf

在这里插入图片描述

PID 表示进程的 ID
表示进程的 ID ,这个 ID 很有用。在 linux 中,内核管理进程就得靠 pid 来识别和管理某一个进程。比如我想终止某一个进程,则用命令“kill 进程的 pid”。有时这样并不能终止进程,需要加 -9 选项,即“kill -9 进程的 pid”,但这样太暴力,严重的时候会丢失数据,所以尽量还是别用。

STAT 进程的状态
D:不能中断的进程(通常为IO)
R(run):正在运行中的进程,其中包括了等待 CPU 时间片的进程
S(sleep):已经中断的进程。通常情况下,系统的大部分进程都是这个状态
T:已经停止或暂停的进程。如果我们正在运行一个命令,比如说 sleep 10,我们按下 ctrl+z 暂停进程时,用 ps 命令查看就会显示 T这个状态
W:(内核 2.6xx以后不可用),没有足够的内存页分配
X:已经死掉的进程(这个好像从来不会出现)
Z:僵尸进程,即杀不掉、打不死的垃圾进程,占用系统一点资源,不过没有关系。如果占用太多(一般不会出现),就需要重视了
<:高优先级进程
N:低优先级进程
L:在内存中被锁了内存分页
s:主进程,后面讲到 nginx 或 php-fpm 服务时候就能更好理解了
l:多线程进程
+:在前台运行的进程,比如在当前终端执行 ps aux 就是前台进程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章