Linux 和类 Unix 操作系统中的 ps(Process Status)命令用于显示当前系统中活动进程状态的命令。它提供了关于系统中正在运行的进程的详细信息,如进程 ID(PID)、父进程 ID(PPID)、运行时间、使用的 CPU 和内存资源、用户信息、终端信息、进程状态等。
基本语法:options参数用于指定要显示的进程信息和格式。
bash
ps [options]
常用参数
a:显示所有用户的进程(包括其他用户的进程)。u:以用户为主的格式显示进程信息。x:显示没有控制终端的进程。e:显示所有进程。f:以完整格式显示进程信息,包括父子进程关系。l:以长格式显示进程信息。o:自定义要显示的列。例如,ps -eo pid,ppid,cmd会显示进程ID、父进程ID和命令名。p:仅显示指定PID的进程。例如,ps -p 1234会显示PID为1234的进程。C:仅显示属于特定CPU核心的进程。t:仅显示与指定终端关联的进程。T:显示线程信息。Z:显示安全上下文(SELinux)。
常见示例
1、 显示所有进程
- 显示所有进程,并以完整格式显示:
bash
ps -ef
- 从所有进程中搜索
mysql进程的详细信息:
bash
ps -ef | grep mysql
- 过滤特定用户的进程:
bash
ps -ef | grep username
- 显示所有用户的所有进程,并以用户为主的格式显示:
bash
ps aux
- 显示没有控制终端的进程
bash
ps -x
- 显示进程
ID为1234的进程的详细信息:
bash
ps -p 1234 -f
- 自定义显示进程
ID、父进程ID、命令名和内存使用率:
bash
ps -eo pid,ppid,cmd,%mem
- 结合
sort和awk命令,可以按CPU使用率排序:
bash
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
名称解释
- PID:进程ID,每个进程都有一个唯一的PID。
- PPID:父进程ID,表示创建该进程的父进程的PID。
- C:CPU使用率,表示进程占用的CPU时间百分比。
- STIME:进程启动时间。
- TTY:终端类型,表示进程关联的终端。
- TIME:进程使用的CPU时间。
- CMD:命令名或命令行,表示启动进程的命令。
- %MEM:内存使用率,表示进程占用的物理内存百分比。
- %CPU:CPU使用率,表示进程在当前CPU时间片内占用的百分比。