Linux命令:ps
2020-12-01 本文已影响0人
闲云野鹤_23dd
ps
ps命令用于显示当前进程 (process) 的状态。
什么是进程
进程就是一个程序的执行实例,也就是正在执行的程序。一个程序可能启动多个进程。Linux中进程用进程号表示,也就是PID
ps命令常用的方式1: ps -ef
ps -ef :显示所有进程及命令行等信息
image.png
<mark style="box-sizing: border-box; background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);">每一列的含义</mark>
- UID :用户ID、但输出的是用户名
- PID :进程的ID
- PPID :父进程ID
- C :进程占用CPU的百分比
- STIME :进程启动到现在的时间 (运行时间)
- TTY :该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。
- CMD :进程的名称 或者 命令的名称和参数
ps命令常用的方式2: ps aux
ps aux :同样是显示所有进程及信息,不过格式略有不同,更详细
image.png
<mark style="box-sizing: border-box; background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);">每一列的含义</mark>
- USER :用户名
- PID :进程的ID
- %CPU :进程占用的CPU百分比
- %MEM :占用内存的百分比
- VSZ :该进程使用的虚拟內存量(KB)
- RSS :该进程占用的常驻內存量(KB)
- TTY : 同 ps -ef 的TTY
- STAT :进程的状态 (下面有详细解释)
- START :该进程被触发启动时间
- TIME :该进程实际使用CPU运行的时间
- COMMAND :同 ps -ef 的CMD
<mark style="box-sizing: border-box; background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);">STAT 的常见状态及含义</mark> 作为了解就行
- D:无法中断的休眠状态(通常 IO 的进程);
- R:正在运行可中在队列中可过行的;
- S:处于休眠状态;
- T :停止或被追踪;
- W:进入内存交换 (从内核2.6开始无效);
- X :死掉的进程 (基本很少见);
- Z :僵尸进程;
- <:优先级高的进程
- N:优先级较低的进程
- L:有些页被锁进内存;
- s:进程的领导者(在它之下有子进程);
- l :多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads);
- :位于后台的进程组;
结合 grep 使用:找到nginx相关的进程信息
ps -ef | grep nginx
image.png
可以看到共找到三条信息
第一个是nginx主进程
第二个是nginx的工作进程
第三个是 grep nginx的进程,也就是ps -ef | grep nginx命令 的进程
使用ps aux 结合grep查找nginx进程的相关信息
ps aux | grep nginx
image.png
与ps -ef | grep nginx所显示信息差不多,不过多了ps aux命令中的一些信息,如 %CPU ,%MEM等