25个有用的Linux进程监控“ps命令”示例


“ps”命令是用于监控Linux操作系统中进程的常用工具。它代表“进程状态”,用于显示系统当前正在运行的进程信息。这些信息可用于故障排除、优化性能以及识别潜在的安全问题。在本文中,我们将讨论25个有用的“ps命令”示例,用于Linux进程监控。

显示所有进程的列表

要显示Linux系统上所有正在运行的进程的列表,请使用以下命令:

ps aux

这将显示所有进程的列表,以及它们的PID(进程ID)、CPU使用率、内存使用率和其他相关信息。

显示所有进程的列表,并显示完整的命令行

要显示所有进程的列表,以及它们的完整命令行,请使用以下命令:

ps auxf

这将显示所有进程的树状结构,使您更容易了解它们之间的关系。

显示按CPU使用率排序的所有进程列表

要显示按CPU使用率排序的所有进程的列表,请使用以下命令:

ps aux --sort=-%cpu

这将显示按CPU使用率降序排列的所有进程的列表。

显示按内存使用率排序的所有进程列表

要显示按内存使用率排序的所有进程的列表,请使用以下命令:

ps aux --sort=-%mem

这将显示按内存使用率降序排列的所有进程的列表。

显示特定用户拥有的所有进程列表

要显示特定用户拥有的所有进程的列表,请使用以下命令:

ps -u username

将“username”替换为您要查看其进程的用户的实际用户名。

显示特定命令的所有进程列表

要显示特定命令的所有进程的列表,请使用以下命令:

ps -C command

将“command”替换为您要查看其进程的命令的名称。

显示特定终端中所有正在运行的进程列表

要显示特定终端中所有正在运行的进程的列表,请使用以下命令:

ps -t tty

将“tty”替换为您要查看其进程的终端的名称。

显示特定进程组中所有进程的列表

要显示特定进程组中所有进程的列表,请使用以下命令:

ps --pid pgid

将“pgid”替换为您要查看其进程的进程组的ID。

显示特定父进程的所有子进程列表

要显示特定父进程的所有子进程的列表,请使用以下命令:

ps --ppid pid

将“pid”替换为您要查看其子进程的父进程的ID。

显示所有具有特定名称的进程列表

要显示所有具有特定名称的进程列表,请使用以下命令:

ps -C name

将“name”替换为您要查看的进程的名称。

显示所有僵尸进程的列表

要显示所有僵尸进程的列表,请使用以下命令:

ps aux | awk '$8=="Z" {print}'

僵尸进程是指已完成执行但尚未被系统正确清理的进程。

显示特定状态下所有进程的列表

要显示特定状态下所有进程的列表,请使用以下命令:

ps -eo state,pid,user,command | grep state

将“state”替换为您要查看的状态(例如,R表示正在运行,S表示休眠,Z表示僵尸)。

显示所有具有特定优先级的进程列表

要显示所有具有特定优先级的进程的列表,请使用以下命令:

ps -o pid,ppid,user,nice,cmd --sort=-nice

这将显示按优先级降序排列的所有进程的列表。

显示所有具有特定CPU亲缘性的进程列表

要显示所有具有特定CPU亲缘性的进程的列表,请使用以下命令:

ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm | grep <cpu>

将“<cpu>”替换为您要查看其进程的CPU。

显示所有使用特定端口的进程列表

要显示所有使用特定端口的进程列表,请使用以下命令:

sudo lsof -i :port

将“port”替换为您要查看其进程的端口号。

显示所有以特定用户身份运行的进程列表

要显示所有以特定用户身份运行的进程列表,请使用以下命令:

ps -U username -u username u

将“username”替换为您要查看其进程的用户名称。

显示特定目录中所有正在运行的进程列表

要显示特定目录中所有正在运行的进程列表,请使用以下命令:

lsof +D /directory

将“/directory”替换为您要查看其进程的目录路径。

显示所有运行特定可执行文件的进程列表

要显示所有运行特定可执行文件的进程列表,请使用以下命令:

ps -C executable_name

将“executable_name”替换为您要查看其进程的可执行文件的名称。

显示所有使用特定文件的进程列表

要显示所有使用特定文件的进程列表,请使用以下命令:

lsof /path/to/file

将“/path/to/file”替换为您要查看其进程的文件路径。

显示所有具有特定环境变量的进程列表

要显示所有具有特定环境变量的进程列表,请使用以下命令:

ps -eo pid,user,args | grep -E '^ *PID|^ *[0-9]+ .*VARNAME=VALUE'

将“VARNAME”替换为您要查看其进程的环境变量的名称,并将“VALUE”替换为其值。

显示所有使用特定网络接口的进程列表

要显示所有使用特定网络接口的进程列表,请使用以下命令:

sudo lsof -i -n -P | grep <interface>

将“<interface>”替换为您要查看其进程的网络接口的名称。

显示所有具有特定用户定义格式的进程列表

要显示所有具有特定用户定义格式的进程列表,请使用以下命令:

ps -eo pid,user,%cpu,%mem,command --sort=-%mem | head

这将显示按内存使用率降序排列的所有进程的列表,并使用用户定义的格式。

显示所有具有特定内存地址的进程列表

要显示所有具有特定内存地址的进程列表,请使用以下命令:

sudo pmap -x pid | grep address

将“pid”替换为您要查看其内存地址的进程的ID,并将“address”替换为您要查看的内存地址。

显示所有具有特定用户定义过滤器的进程列表

要显示所有具有特定用户定义过滤器的进程列表,请使用以下命令:

ps -eo pid,user,%cpu,%mem,command --sort=-%mem | awk '{if ($3 >= 10.0) print $0;}'

这将显示所有使用超过10%的CPU和内存的进程列表,并使用用户定义的过滤器。

显示所有进程的树状视图

要显示所有进程的树状视图,请使用以下命令:

pstree

这将显示所有进程的分层树状视图,其中父进程位于顶部,子进程位于下方。

结论

“ps”命令是用于监控和管理Linux系统中进程的强大工具。通过本文提供的示例,您可以轻松使用“ps”命令查看有关正在运行的进程的信息,过滤和排序输出,以及执行各种其他操作。通过掌握“ps”命令,您可以提高Linux系统的性能和稳定性,并更有效地解决问题。

更新于: 2023年3月28日

2K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告