在 Linux 世界中,一切皆进程。理解进程的逻辑,是管理服务器的基础。
一、 进程的核心概念
独立性:每个程序运行后都会产生自己的进程,并分配一个唯一的 PID。
层级性:除了系统启动进程外,每个进程都有一个父进程。
运行模式:
前台 (Foreground):直接占用当前终端窗口,运行完前无法输入新命令。
后台 (Background):在系统静默运行,不占用控制台(通常是系统服务)。
二、 进程查询:ps
1. 常用参数组合
| 组合命令 | 适用场景 | 关键信息 |
|---|---|---|
ps -aux | 最常用,查看系统全量信息 | CPU/内存占用、启动时间、命令路径 |
ps -ef | 查看层级关系 | 重点展示 PPID |
2. 万能过滤公式 (ps + grep)
在成百上千个进程中找到你的目标(如 Java 程序),必须使用管道符 |:
ps -aux | grep java原理:
ps把所有结果吐出来,|像漏斗一样接住,交给grep过滤出包含 "java" 关键字的那几行。
三、 强制终结:kill
当程序卡死或需要关闭服务时,使用 kill 发送信号。
标准格式:
kill -9 [PID]参数含义:
-9代表 SIGKILL 信号,意为“立即强制停止”。
避坑:
执行
kill -9前,一定要先用ps确认 PID,别杀错了系统关键进程!如果是正常的 Web 服务(如 Tomcat/SpringBoot),优先尝试不带
-9的kill [PID],给程序留一点时间处理未完成的任务(优雅停机)。
四、 动态监控 top
如果你想实时看到哪个进程最耗 CPU,请直接输入:
top按
P:按 CPU 使用率排序。按
M:按内存占用排序。按
q:退出。