目录
ps
(Process Status)是一个常用的Unix/Linux命令,用来显示当前系统中的进程状态。它有很多选项和参数,可以定制输出的内容和格式。
命令:
ps
参数:
-e # 显示所有进程
-f # 显示完整格式
-u <user> # 显示指定用户的进程
-p <pid> # 显示指定进程ID的进程
--sort <key> # 按指定的键排序输出
-o <format> # 自定义输出格式。
# 格式选项(<format>)可以是多个字段,如 pid(进程ID)、cmd(命令名)、%cpu(CPU使用率)、%mem(内存使用率)等
h # 不是显示标题行,即不显示列的名称
-L # 显示所有线程
-d # 显示除了会话领导之外的所有进程
举例:
# 显示所有进程的详细信息
ps -ef
# UID、PID、PPID、C(CPU使用率)、STIME(启动时间)、TTY(终端类型)、TIME(CPU时间)和CMD(命令)
# 显示特定用户进程
ps -fu username
# 显示特定进程ID(PID)的进程信息:
ps -fp 1234
# 自定义输出格式:
# -o 自定义输出格式,这里选择了PID、PPID、命令、内存使用率和CPU使用率。--sort=-%cpu 意味着按CPU使用率降序排列。
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu
# 显示每个用户启动的线程总数量,并进行排序
ps h -Led -o user | sort | uniq -c | sort -n
# 显示哪个pid启动的线程最多,并进行排序
ps h -Led -o user,pid | sort -nk 2 | uniq -c | sort -nk 1