CodeGym /课程 /Docker SELF /管理系统进程:ps, top, htop

管理系统进程:ps, top, htop

Docker SELF
第 2 级 , 课程 4
可用

管理系统进程:ps, top, htop

1. 命令 ps —— 静态查看进程

如果把 Linux 比作一个餐厅,那么进程就是厨房里的厨师。这是一个可执行的程序实例, 它存在于内存中。当你从命令行运行一个应用程序或执行一个文件时,会创建一个进程,然后这个进程完成它的任务直到结束。

从编程的角度来看,进程由 Linux 内核管理,每个进程都有一个唯一的标识符 —— PID (Process ID)。

命令 ps (process status) 是一个查看进程列表的基本命令。它提供了系统当前进程的静态快照。通过 ps,你可以获取关于正在运行的进程的信息:它们的 ID、所属用户(所有者)、命令行、使用的资源等。

基本语法

基本命令如下:

ps

这将显示当前终端中运行的进程。

但这样太无聊了!来点更有趣的东西:

ps aux

这里:

  • a — 显示其他用户的进程。
  • u — 添加更加易读的格式。
  • x — 包括未绑定到终端的进程。

输出示例:

USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.1  22556  1044 ?        Ss   12:34   0:01 /sbin/init
student      2345  0.1  0.2  34567  2048 pts/0    S+   12:35   0:02 bash
student      4567  0.3  0.5  56789  5144 pts/0    R+   12:36   0:03 ps aux
  • USER: 启动进程的用户。
  • PID: 进程标识符。
  • %CPU: CPU 使用百分比。
  • %MEM: 内存使用百分比。
  • COMMAND: 启动进程的命令。

高级选项

  1. 查看进程的树形结构:

    ps -ejH
    

    这有助于了解哪些进程是其他进程的“子进程”。

  2. 按 PID 过滤:

    ps -p 1234
    

    其中 1234 是你的 PID。仅显示指定的进程。

  3. 显示所有进程及其完整命令行:

    ps -ef
    

2. 命令 top —— 动态监控进程

top 就像是进程的电视。你可以实时观察进程的变化。如果你运行一个服务器或者你的电脑开始“卡顿”,top 就是你的好帮手。通过它你可以看到哪些进程占用了最多的CPU和内存。

基础使用方法

只需在终端输入:

top

输出示例:

  • 顶部一行显示系统的“负载”。
  • 中间部分说明了任务(总共,活动的,睡眠的,僵尸)。
  • 底部部分涉及内存。
  • 最下面的块是进程列表,其中有很多有用的信息,包括PID, USER, %CPU和COMMAND。

top中的导航

  • k 结束进程。输入PID。
  • P 按CPU排序进程。
  • M 按内存使用排序。
  • q 退出。

3. 工具 htop — 方便的界面

如果你觉得top太 "原始",欢迎使用htop。这是一个可视化的进程监控界面。它是彩色的,支持鼠标操作,并且超级人性化。

安装

如果系统中没有安装htop,可以添加它:

sudo apt-get install htop # 对于基于Debian的发行版
sudo yum install htop     # 对于基于RedHat的发行版

启动

要启动htop,只需输入以下命令:

htop

界面示例:

htop的优点:

  • 支持滚动查看进程列表。
  • 用颜色区分CPU、内存和swap。
  • 方便的快捷键结束进程(比如F9)。

4. 实践任务

任务 1:找到最“贪婪”的进程

  • 打开 tophtop
  • 按 CPU 排序进程并找出对应的 PID。

任务 2:结束进程

  • 使用 kill 来“杀掉”进程:
    kill <PID>
    

任务 3:分析进程

  • 使用 ps 来分析进程的 PID:
    ps -p <PID> -o pid,user,%cpu,%mem,cmd
    

注意事项和建议

  1. 如果不确定某个进程对于系统运行是否重要,请不要杀掉它。例如,PID 为 1 的进程是 init,它是操作系统的核心。
  2. 如果系统中没有安装 htop,需要手动安装。如果命令无法运行,请检查是否已安装。
  3. 注意权限,如果要结束其他用户运行的进程,可能需要管理员权限。

实践中你会发现,这些工具让 Linux 的操作更加灵活直观。现在你就是进程的老板!

评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION