管理系统进程: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: 启动进程的命令。
高级选项
查看进程的树形结构:
ps -ejH
这有助于了解哪些进程是其他进程的“子进程”。
按 PID 过滤:
ps -p 1234
其中
1234
是你的 PID。仅显示指定的进程。显示所有进程及其完整命令行:
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:找到最“贪婪”的进程
- 打开
top
或htop
。 - 按 CPU 排序进程并找出对应的 PID。
任务 2:结束进程
- 使用
kill
来“杀掉”进程:kill <PID>
任务 3:分析进程
- 使用
ps
来分析进程的 PID:ps -p <PID> -o pid,user,%cpu,%mem,cmd
注意事项和建议
- 如果不确定某个进程对于系统运行是否重要,请不要杀掉它。例如,PID 为 1 的进程是 init,它是操作系统的核心。
- 如果系统中没有安装
htop
,需要手动安装。如果命令无法运行,请检查是否已安装。 - 注意权限,如果要结束其他用户运行的进程,可能需要管理员权限。
实践中你会发现,这些工具让 Linux 的操作更加灵活直观。现在你就是进程的老板!
GO TO FULL VERSION