Linux 中 ps 命令的基本示例Linux 中 ps 命令的基本示例Linux 中 ps 命令的基本示例Linux 中 ps 命令的基本示例
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

Linux 中 ps 命令的基本示例

发表 admin at 2025年2月28日
类别
  • 未分类
标签
月額480円〜の高速レンタルサーバー ColorfulBox

Linux 中的 ps 命令用于获取有关正在运行的进程的信息。以下是复杂而广泛的 ps 命令的一些有用示例。

Linux 中的 ps 命令是什么?

Linux 中的 ps 命令显示系统上正在运行的进程。您可以获得您或任何其他用户在同一 Linux 系统上运行的进程的进程 ID (PID) 等信息。

ps 命令是一个功能广泛的工具,有 80 多个命令选项。您可以了解它的强度和复杂性。这就是为什么我将向您展示 Linux 中 ps 命令的一些最常见和有用的示例。

Linux 中 ps 命令的基本用法

如果在 Linux 中使用不带任何选项的 ps 命令,它将显示当前 shell 中正在运行的进程:

ps

这是输出。我在后台发送了 Gedit 命令,这就是为什么它显示三个进程,否则您通常只会看到 ps 和 bash。

  PID TTY          TIME CMD
  503 pts/0    00:00:00 gedit
 2053 pts/0    00:00:00 ps
31585 pts/0    00:00:00 bash

在这里:

  • PID是进程的唯一进程ID

  • TTY 是用户登录的终端类型。 pts 表示伪终端

  • TIME 告诉您进程已经运行了多长时间

  • CMD 是您运行以启动进程的命令

现在,这并没有真正提供任何真实、有用的信息。让我们看看 ps 命令的一些更好的示例:

1.查看你所有的运行进程

如果您想查看您运行的所有进程,可以使用带有选项 x 的 ps 命令,如下所示:

ps -x

x 选项将显示所有进程,即使它们与当前 tty(终端类型)无关或没有控制终端(如守护进程)。

-before 选项 x 是可选的,但一般 Linux 约定是使用 -before 选项,所以我建议你继续遵循它。它不会伤害你。

这就是输出的样子。我截断了输出,因为它有数百行:

  PID TTY      STAT   TIME COMMAND
  503 pts/0    Sl     0:00 gedit
 2245 ?        S      0:00 /usr/bin/ssh-agent -D -a /run/user/1000/keyring/.ssh
 3039 ?        Ss     0:00 /lib/systemd/systemd --user
 3040 ?        S      0:00 (sd-pam)
 3054 ?        SLl    0:01 /usr/bin/gnome-keyring-daemon --daemonize --login
 3059 tty2     Ssl+   0:00 /usr/lib/gdm3/gdm-x-session --run-script env 

上述输出中的 STAT 表示进程状态代码。您可以在 ps 命令的手册页中找到详细的表格。

但你很少会看到 ps 命令只与选项 x 一起使用。它通常与选项 u 一起出现,如下所示:

ps -ux

使用选项 u,您将获得有关每个进程的详细信息:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
abhishek   503  0.0  0.4 681580 37516 pts/0    Sl   18:09   0:00 gedit
abhishek  2245  0.0  0.0  11300  1496 ?        S    18:37   0:00 /usr/bin/ssh-agent -D -a /run/user/1000/keyring/.ssh
abhishek  3039  0.0  0.0  77344  3508 ?        Ss   10:37   0:00 /lib/systemd/systemd --user
abhishek  3040  0.0  0.0 114632   360 ?        S    10:37   0:00 (sd-pam)
abhishek  3054  0.0  0.1 517104 11512 ?        SLl  10:37   0:01 /usr/bin/gnome-keyring-daemon --daemonize --login

正如您所看到的,现在您获得了每个进程的用户名、CPU 消耗和内存使用情况。 RSS 显示进程当前在 RAM 中拥有多少内存,而 VSZ 则显示进程总共拥有多少虚拟内存。

2.使用ps aux命令查看所有正在运行的进程

您可能会一直在 Linux 教程和文档中看到 ps -aux 或 ps aux。

通过添加-a选项,您可以看到Linux系统上所有用户正在运行的进程。

ps -aux

命令输出与 ps -ux 相同,但现在您也有来自其他用户的进程。借助 -u 选项,您可以识别哪个进程属于哪个用户。

3.在Linux中使用ps -ef命令查看所有正在运行的进程

除了 ps -aux 之外,您还可以使用 -e 选项列出所有正在运行的进程。常见的做法是将其与选项 -f 结合起来,以获得用于运行进程的命令的完整列表。

ps -ef

请注意 – e 之前很重要;否则,会显示不同的结果。我告诉过你,ps 是一个混乱而复杂的命令。

您还可以结合 H 选项来查看线程视图中的所有进程以及其父进程下的子进程:

ps -efH

4.查看某个用户所有正在运行的进程

要获取某个用户运行的所有进程的信息,可以使用 -U 选项和用户名:

ps -U user_name

例如,我可以看到 root 用户运行的所有进程,如下所示:

ps -U root
  PID TTY          TIME CMD
    1 ?        00:00:41 systemd
    2 ?        00:00:00 kthreadd
    3 ?        00:00:00 rcu_gp
    4 ?        00:00:00 rcu_par_gp
    8 ?        00:00:00 mm_percpu_wq
    9 ?        00:00:03 ksoftirqd/0
   10 ?        00:01:22 rcu_sched

5.查看某个组运行的所有进程

您还可以通过提供组名称或组 ID 按组而不是用户对正在运行的进程进行分类:

ps -G group_name_or_id

您可以与选项 f 结合使用以获得完整列表。

6. 获取程序的所有出现次数和PID

ps 命令的基本用途之一是获取正在运行的程序的进程 ID (PID)。通常,当您想要终止行为不当的程序时,您会搜索所有出现的程序,获取它们的 PID 并使用 Kill 命令来结束该进程。

ps -C program__name

例如,如果我必须找到 apt 包管理器的所有正在运行的实例:

ps -C apt
  PID TTY          TIME CMD
11425 pts/1    00:00:00 apt

您还可以使用 grep 命令来获得类似的结果。

ps aux | grep program_name

7. 获取某个PID的进程信息

好吧!你有一个 PID,但不知道它属于哪个进程。您可以使用 ps 命令从其 PID 中查找进程信息,如下所示:

ps -pN

您可以使用多个 PID,用逗号分隔它们:

ps -pN1,N2,N3

还有什么?

正如我之前所说,ps 是一个复杂而广泛的命令。这些是您大部分时间都需要的一些最常见的 ps 命令示例。如果您想要更多信息,可以随时参考其手册页。

如果您有一些经常使用的 ps 命令的其他有用示例,为什么不在评论部分与我们其他人分享呢?

©2015-2025 Norria support@alaica.com