Linux ps命令 – 20个实际生活示例

ps命令,全称为进程状态(Process Status),是一个命令行实用程序,用于显示或查看与在Linux系统中运行的进程相关的信息。众所周知,Linux是一个多任务和多处理系统。因此,多个进程可以并发运行而互不影响。ps命令列出当前正在运行的进程以及它们的进程ID和其他属性。在本指南中,我们将重点介绍ps命令的使用方法。它从位于/proc文件系统中的虚拟文件中获取有关进程的信息。

没有参数的ps命令 de ps

不带参数的ps命令将在当前的shell中列出正在运行的进程。

ps
ps command

以不同格式查看所有正在运行的进程

ps  -e command

查看与终端相关联的进程

ps -T command

查看与终端不相关的进程

ps -a command

显示所有当前运行的进程

要查看所有当前进程,请执行

ps -ax
ps -ax command

以BSD格式显示所有进程

如果您希望以BSD格式显示进程,请执行该命令。

ps au 

或者

ps aux
ps aux

进行完整格式清单

要查看完整格式的列表,请运行。

ps -ef 

或者

ps -eF
ps -ef command

根据用户来过滤处理

如果您希望列出与特定用户相关联的进程,请使用如下所示的-u标志。

ps -u user

例如

ps -u jamie
ps-u username command

通过线程过程筛选过程

如果你想要知道特定进程的线程情况,可以使用-L选项后跟着进程ID,例如。

ps -L 4264
ps -L PID command

显示正在以 root 用户权限运行的每个进程

有时候,你可能想要查看由根用户运行的所有进程。为了实现这个目标,请执行以下操作。

ps -U root -u root
ps-processes-owned-by-root

显示组进程

如果您希望列出特定组相关的所有进程,则运行

ps -fG group_name

或者

ps -fG groupID

例如

ps -fG root
ps -fG group_name

搜索进程的PID

很有可能通常不知道一个进程的PID。您可以通过运行来搜索一个进程的PID。

ps -C process_name

例如

ps -C bash
ps -c processname

按PID列出进程

您可以按照PID显示进程

ps -fp PID

例如

ps -fp 1294
ps -fp PID command

以树形图显示过程层次结构

通常情况下,大多数进程都是从父进程分叉出来的。了解这种父子关系可以派上用场。下面的命令用于搜索名为apache2的进程。

ps -f --forest -C bash
ps -f --forest -C command

显示父进程的子进程

例如,如果您希望显示所有属于apache的派生进程,请执行。

ps -o pid,uname,comm -C bash
ps -o pid,uname,comm -C command
ps --ppid PID no.

例如

ps --ppid 1294
ps --ppid PID no. command

展示进程线程

使用ps命令可以查看进程及其线程。下面的命令显示了所有由进程PID pid_no所拥有的线程。

ps -p pid_no -L

例如

ps -p 1294 -L 
ps -p pid_no -L

显示一个选定的列列表

你可以使用 ps 命令来显示你所需的列。例如,

ps -e -o pid,uname,pcpu,pmem,comm
ps -e -o pid,uname,pcpu,pmem,comm

重命名列标签

执行以下命令来重命名列标签:

 ps -e -o pid=PID,uname=USERNAME,pcpu=CPU_USAGE,pmem=%MEM,comm=COMMAND
ps rename  columns

显示进程的已经花费时间

经过的时间是指进程运行了多长时间。

ps -e -o pid,comm,etime
ps -e -o pid,comm,etime

使用带有grep的ps命令

例如,可以使用ps命令结合grep命令来搜索特定进程。

ps -ef  | grep systemd
ps and grep command
发表回复 0

Your email address will not be published. Required fields are marked *