一、什么是ps命令
ps命令是Linux下的一个查看进程的命令,它可以显示出系统中正在运行的进程。
一般格式为: ps [选项]
其中,选项包括:
- -a:显示当前终端下的所有进程(包括其他用户的进程)
- -u:以用户为主的格式来显示进程信息
- -x:显示没有控制终端的进程
二、如何使用ps命令
1、查看当前用户的进程,可以使用命令 ps -u 用户名 来查看。
ps -u root
可以查看以root用户启动的进程信息。
2、查看系统所有进程,可以使用命令 ps aux。
ps aux
其中,a选项表示显示所有用户的进程; u 表示以长格式显示进程信息; x 表示显示没有控制终端的进程。
3、查找某个进程,可以使用命令 ps -ef | grep 进程名称。
ps -ef | grep nginx
其中,grep 命令用来匹配进程名称,过滤出满足条件的记录。
三、ps命令实例
实例1:查看系统所有进程
ps aux
输出结果如下:
USER:进程的执行用户
PID:进程的ID号
CPU%:进程使用CPU的占比
MEM%:进程使用内存的占比
VSZ:进程占用虚拟内存的大小
RSS:进程占用物理内存的大小
TID:线程ID号,与进程ID相同
STAT:进程的状态,包括S(休眠),R(运行),Z(僵尸),T(停止)等
START:进程启动时的时间
TIME:进程执行的时间
COMMAND:进程对应的命令
USER PID %CPU %MEM VSZ RSS TID STAT START TIME COMMAND root 1 0.0 0.2 19176 5520 1 Ss 5月24 1:36 /sbin/init root 2 0.0 0.0 0 0 2 S 5月24 0:00 [kthreadd] root 3 0.0 0.0 0 0 3 I< 5月24 0:00 [rcu_gp] root 4 0.0 0.0 0 0 4 I< 5月24 0:00 [rcu_par_gp] root 6 0.0 0.0 0 0 6 I< 5月24 0:00 [kworker/0:0H-kblock] root 7 0.0 0.0 0 0 7 I 5月24 0:01 [kworker/u8:0-evpoll] root 8 0.0 0.0 0 0 8 I< 5月24 0:00 [mm_percpu_wq] root 9 0.0 0.0 0 0 9 S 5月24 0:02 [ksoftirqd/0]
实例2:查找某个进程
ps -ef | grep nginx
输出结果如下:
root 12067 1 0 14:17 ? 00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; nginx 12068 12067 0 14:17 ? 00:00:00 nginx: worker process nginx 12069 12067 0 14:17 ? 00:00:00 nginx: worker process nginx 12070 12067 0 14:17 ? 00:00:00 nginx: worker process nginx 12071 12067 0 14:17 ? 00:00:00 nginx: worker process
实例3:开启进程监控
使用命令 watch -n 1 ps aux 可以每一秒钟刷新一次当前运行的进程信息。
watch -n 1 ps aux
四、总结
ps命令在Linux运维工作中扮演着非常重要的角色,它能够帮助我们实时查看进程的运行情况,以及管理进程资源。熟练掌握ps命令的使用,对于Linux运维工程师来说非常必要。