Linux ps命令 – 20个实际生活示例
ps命令,全称为进程状态(Process Status),是一个命令行实用程序,用于显示或查看与在Linux系统中运行的进程相关的信息。众所周知,Linux是一个多任务和多处理系统。因此,多个进程可以并发运行而互不影响。ps命令列出当前正在运行的进程以及它们的进程ID和其他属性。在本指南中,我们将重点介绍ps命令的使用方法。它从位于/proc文件系统中的虚拟文件中获取有关进程的信息。
没有参数的ps命令 de ps
不带参数的ps命令将在当前的shell中列出正在运行的进程。
ps
以不同格式查看所有正在运行的进程
查看与终端相关联的进程
查看与终端不相关的进程
显示所有当前运行的进程
要查看所有当前进程,请执行
ps -ax
以BSD格式显示所有进程
如果您希望以BSD格式显示进程,请执行该命令。
ps au
或者
ps aux
进行完整格式清单
要查看完整格式的列表,请运行。
ps -ef
或者
ps -eF
根据用户来过滤处理
如果您希望列出与特定用户相关联的进程,请使用如下所示的-u标志。
ps -u user
例如
ps -u jamie
通过线程过程筛选过程
如果你想要知道特定进程的线程情况,可以使用-L选项后跟着进程ID,例如。
ps -L 4264
显示正在以 root 用户权限运行的每个进程
有时候,你可能想要查看由根用户运行的所有进程。为了实现这个目标,请执行以下操作。
ps -U root -u root
显示组进程
如果您希望列出特定组相关的所有进程,则运行
ps -fG group_name
或者
ps -fG groupID
例如
ps -fG root
搜索进程的PID
很有可能通常不知道一个进程的PID。您可以通过运行来搜索一个进程的PID。
ps -C process_name
例如
ps -C bash
按PID列出进程
您可以按照PID显示进程
ps -fp PID
例如
ps -fp 1294
以树形图显示过程层次结构
通常情况下,大多数进程都是从父进程分叉出来的。了解这种父子关系可以派上用场。下面的命令用于搜索名为apache2的进程。
ps -f --forest -C bash
显示父进程的子进程
例如,如果您希望显示所有属于apache的派生进程,请执行。
ps -o pid,uname,comm -C bash
ps --ppid PID no.
例如
ps --ppid 1294
展示进程线程
使用ps命令可以查看进程及其线程。下面的命令显示了所有由进程PID pid_no所拥有的线程。
ps -p pid_no -L
例如
ps -p 1294 -L
显示一个选定的列列表
你可以使用 ps 命令来显示你所需的列。例如,
ps -e -o pid,uname,pcpu,pmem,comm
重命名列标签
执行以下命令来重命名列标签:
ps -e -o pid=PID,uname=USERNAME,pcpu=CPU_USAGE,pmem=%MEM,comm=COMMAND
显示进程的已经花费时间
经过的时间是指进程运行了多长时间。
ps -e -o pid,comm,etime
使用带有grep的ps命令
例如,可以使用ps命令结合grep命令来搜索特定进程。
ps -ef | grep systemd