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系统的性能和稳定性,并更有效地解决问题。