25 个实用的 Linux 进程监控"ps 命令"示例
"ps"命令是 Linux 操作系统中用于监控进程的常用工具。它代表"进程状态",用于显示系统上当前正在运行的进程信息。这些信息可用于故障排除、性能优化和识别潜在的安全问题。在本文中,我们将讨论 25 个用于 Linux 进程监控的实用"ps 命令"示例。
显示所有进程列表
要显示 Linux 系统上运行的所有进程列表,请使用以下命令 -
ps aux
这将显示所有进程的列表,包括它们的 PID(进程 ID)、CPU 使用率、内存使用率和其他相关信息。
显示所有进程的完整命令行列表
要显示所有进程及其完整命令行列表,请使用以下命令 -
ps auxf
这将以树状结构显示所有进程,以便更容易地查看它们之间的关系。
按 CPU 使用率排序显示所有进程的列表
按排序显示所有进程的列表按 CPU 使用率排序,请使用以下命令 -
ps aux --sort=-%cpu
这将显示按 CPU 使用率降序排列的所有进程列表。
显示按内存使用率排序的所有进程列表
要显示按内存使用率排序的所有进程列表,请使用以下命令 -
ps aux --sort=-%mem
这将显示按内存使用率降序排列的所有进程列表。
显示特定用户拥有的所有进程列表
要显示特定用户拥有的所有进程列表,请使用以下命令 -
ps -u 用户名
将"用户名"替换为您要查看进程的用户的实际用户名。
显示特定命令的所有进程列表
要显示特定命令的所有进程列表,请使用以下命令 -
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系统的性能和稳定性,并更有效地解决问题。
相关文章
有用资源
linux 参考教程 - 该教程包含有关 linux 的更多信息:https://www.cainiaomax.com/linux/

