检查用户在linux中运行的进程
Linux 系统上运行的所有内容(服务、脚本或其他任何内容)都被视为“进程”。 ” 系统管理员的核心活动之一是监视计算机上运行的进程并与之交互。
可以使用多种命令行方法来更轻松地检查某些进程。一种这样的方法是检查在特定用户下运行的进程。
随着服务器最佳使用/最大化的不断增长,良好地管理流程变得越来越重要。在本教程中,您将看到一些不同的命令,可用于检查 Linux 中特定用户下正在运行的进程。
在本教程中您将学习:
如何使用
ps
命令按用户列出进程如何解释
ps
输出以及更多命令开关如何使用
top
和htop
命令按用户列出进程如何在主要 Linux 发行版上安装
htop
检查用户在 Linux 中正在运行的进程
与 Linux 系统上的所有事情一样,完成我们需要完成的任务的方法不止一种。查看下面的一些不同命令,了解如何检查用户下运行的进程。
ps 命令 – 按用户列出进程
ps 命令是一个默认的命令行实用程序,可以让我们深入了解 Linux 系统上当前运行的进程。它可以为我们提供许多有关这些进程的有用信息,包括它们的 PID(进程 ID)、TTY、运行命令或应用程序的用户等等。
通常,我们会使用 ps
命令,语法如下:
$ ps aux
正如您所看到的,我们的输出中有相当多的列,其中一些对于初学者来说可能很神秘。让我们回顾一下每一项的含义:
USER
– 运行进程的用户。PID
– 进程 ID(每个进程都分配有一个数字作为 ID)。%CPU
– 进程使用的 CPU 百分比。%MEM
– 进程正在使用多少 RAM 百分比。VSZ
– 进程的虚拟内存大小。RSS
– 进程正在使用的物理内存大小。TTY
– 进程绑定到哪个 TTY(终端屏幕),或者?
表示没有绑定。STAT
– 进程的状态代码;有很多,但一些常见的是S
(睡眠)和R
(运行)。START
– 进程开始的时间。TIME
– 进程已使用的累积 CPU 时间。COMMAND
– 用于生成正在运行的进程的完整命令。
但是,我们只想隔离某个用户拥有的进程。在这种情况下,我们将附加 -U
选项和要监视其进程的用户名。在此示例中,我们将检查在 root
用户下运行的所有进程。
$ ps -U root
这很好,但如果我们想查看有关正在运行的进程的更多信息,我们可以附加另一个 u
选项。此外,使用-u
将允许我们指定用户的真实和有效用户ID。我们的 ps
命令的语法现在看起来像这样
$ ps -U root -u root u
从屏幕截图中可以看到,我们获得了有关 root 用户下运行的所有进程的更详细信息。
top 和 htop 命令 – 按用户列出进程
top
和 htop
命令还可以用于查看 Linux 系统上的所有进程,以及查看哪个用户拥有某个进程。
$ top
在下面的屏幕截图中,我们可以快速查看哪些进程在 root 下运行以及它们消耗了多少系统资源。
htop 命令(上述命令的更易于阅读的形式)甚至更加有用,因为我们只需单击 USER 列即可组织每个用户的所有进程。
如果您还无法访问系统上的 htop
命令,您可以使用下面相应的命令通过系统的包管理器安装 htop。
要在 Ubuntu、Debian 和 Linux Mint 上安装 htop:
$ sudo apt install htop
要在 Fedora、CentOS、AlmaLinux 和 Red Hat 上安装 htop:
$ sudo dnf install htop
要在 Arch Linux 和 Manjaro 上安装 htop:
$ sudo pacman -S htop
更多帮助和示例
如果您有兴趣,我们有更多专门用于管理正在运行的流程的指南。我们建议如下:
如何在 Linux 中使用 ps 命令:初学者指南
学习 Linux 命令:顶部
Linux 上进程管理的基础知识
如何终止 Linux 上正在运行的进程
结束语
在本教程中,我们了解了如何按用户列出 Linux 系统上正在运行的进程。与 Linux 系统上的所有操作一样,完成此任务的方法不止一种,例如使用 ps
、top
和 htop
本教程中看到的命令。