介绍
在本实验中,你将学习如何使用 Linux 的 ps(process status,进程状态)命令来监控和管理系统中正在运行的进程。ps 命令是系统管理员和开发人员的基本工具,它提供了当前运行进程的详细信息,包括进程 ID、用户、CPU 和内存使用情况等。你将从了解 ps 命令的基本用法开始,然后学习如何按用户过滤进程,最后探索如何监控正在运行进程的 CPU 和内存使用情况。本实验涵盖了系统监控和管理的基本技能,这些技能对于有效管理基于 Linux 的系统至关重要。
在本实验中,你将学习如何使用 Linux 的 ps(process status,进程状态)命令来监控和管理系统中正在运行的进程。ps 命令是系统管理员和开发人员的基本工具,它提供了当前运行进程的详细信息,包括进程 ID、用户、CPU 和内存使用情况等。你将从了解 ps 命令的基本用法开始,然后学习如何按用户过滤进程,最后探索如何监控正在运行进程的 CPU 和内存使用情况。本实验涵盖了系统监控和管理的基本技能,这些技能对于有效管理基于 Linux 的系统至关重要。
在这一步中,你将学习 ps(process status,进程状态)命令,这是一个基本的 Linux 命令,用于显示系统中正在运行的进程信息。
ps 命令提供了系统当前运行进程的快照,包括进程 ID(PID)、用户、CPU 和内存使用情况以及其他相关信息。
让我们从运行基本的 ps 命令开始:
ps
示例输出:
PID TTY TIME CMD
1234 pts/0 00:00:00 bash
5678 pts/0 00:00:00 ps
输出显示了当前的 shell 进程(bash)和 ps 命令本身。
要查看有关运行进程的更详细信息,可以使用以下选项:
ps -ef
示例输出:
UID PID PPID C STIME TTY TIME CMD
labex 1234 4321 0 10:30 pts/0 00:00:00 /bin/bash
labex 5678 1234 0 10:30 pts/0 00:00:00 ps -ef
-e 选项显示所有进程,-f 选项提供完整格式的列表,包括用户 ID(UID)、进程 ID(PID)、父进程 ID(PPID)、CPU 使用率(C)、启动时间(STIME)、终端(TTY)、CPU 时间(TIME)以及命令(CMD)。
你还可以根据特定条件过滤输出,例如按运行进程的用户:
ps -u labex
示例输出:
PID TTY TIME CMD
1234 pts/0 00:00:00 bash
5678 pts/0 00:00:00 ps
此命令显示由 labex 用户拥有的所有进程。
在这一步中,你将学习如何按拥有进程的用户过滤正在运行的进程列表。
ps 命令提供了多种选项来过滤进程列表,其中之一是 -u 或 --user 选项。该选项允许你显示特定用户拥有的进程。
让我们从列出 labex 用户拥有的所有进程开始:
ps -u labex
示例输出:
PID TTY TIME CMD
1234 pts/0 00:00:00 bash
5678 pts/0 00:00:00 ps
此命令显示由 labex 用户拥有的所有进程。
你还可以使用 grep 命令进一步过滤 ps 命令的输出。例如,查找 labex 用户拥有的所有正在运行 bash 命令的进程:
ps -ef | grep -i labex | grep -i bash
示例输出:
labex 1234 4321 0 10:30 pts/0 00:00:00 /bin/bash
在这个命令中,ps -ef 列出所有进程,第一个 grep -i labex 过滤输出以仅显示 labex 用户拥有的进程,第二个 grep -i bash 过滤输出以仅显示正在运行 bash 命令的进程。
grep 命令中的 -i 选项使搜索不区分大小写,因此它将匹配 "labex" 和 "bash" 的大小写形式。
在这一步中,你将学习如何使用 ps 命令监控正在运行进程的 CPU 和内存使用情况。
要查看所有进程的 CPU 和内存使用情况,可以使用 ps 命令的 -o 选项来自定义输出:
ps -eo pid,user,%cpu,%mem,cmd
示例输出:
PID USER %CPU %MEM COMMAND
1234 labex 2.0 0.1 /bin/bash
5678 labex 0.5 0.2 ps -eo pid,user,%cpu,%mem,cmd
此命令显示每个进程的以下信息:
PID:进程 IDUSER:拥有进程的用户%CPU:进程使用的 CPU 百分比%MEM:进程使用的内存百分比COMMAND:启动进程的命令你还可以按 CPU 或内存使用情况对输出进行排序,以识别消耗最多系统资源的进程:
ps -eo pid,user,%cpu,%mem,cmd --sort=-%cpu
示例输出:
PID USER %CPU %MEM COMMAND
5678 labex 2.0 0.2 ps -eo pid,user,%cpu,%mem,cmd --sort=-%cpu
1234 labex 1.5 0.1 /bin/bash
此命令按 CPU 使用率降序排序输出,因此使用最多 CPU 的进程会显示在最前面。
同样,你可以按内存使用情况排序:
ps -eo pid,user,%cpu,%mem,cmd --sort=-%mem
示例输出:
PID USER %CPU %MEM COMMAND
5678 labex 2.0 0.2 ps -eo pid,user,%cpu,%mem,cmd --sort=-%mem
1234 labex 1.5 0.1 /bin/bash
此命令按内存使用率降序排序输出,因此使用最多内存的进程会显示在最前面。
在本实验中,你学习了 ps(process status,进程状态)命令,这是一个基本的 Linux 命令,用于显示系统中正在运行的进程信息。你从基本的 ps 命令开始,探索了显示更详细信息的选项,例如 -e 和 -f 选项。你还学习了如何使用 -u 或 --user 选项按拥有进程的用户过滤进程列表。此外,你还学习了如何监控正在运行进程的 CPU 和内存使用情况。
本实验全面介绍了 ps 命令及其在管理和监控 Linux 系统上运行进程的实际应用。