Linux中每个运行中的程序通常对应一个或多个进程。理解进程的基本逻辑,是管理服务器的基础。
一、进程核心概念
- 独立性:程序运行后会产生进程,并分配唯一的PID。
- 层级性:除了系统启动进程外,每个进程通常都有父进程,父进程ID叫PPID。
- 前台运行:占用当前终端窗口,程序结束前无法继续输入新命令。
- 后台运行:在后台执行,不直接占用当前终端。
二、进程查询
1.常用命令
| 命令 | 适用场景 | 关键信息 |
|---|---|---|
ps aux | 查看系统进程全量信息 | CPU占用、内存占用、启动时间、命令路径 |
ps -ef | 查看进程层级关系 | 重点查看PPID |
2.过滤进程
在大量进程中查找目标程序时,可以使用管道符|配合grep过滤。
bash
ps aux | grep java含义:
ps aux:输出进程列表。|:把前一个命令的输出交给后一个命令处理。grep java:筛选包含java关键字的行。
三、终止进程
kill用于给进程发送信号。
常用格式:
bash
kill [PID]
kill -9 [PID]kill [PID]:发送默认终止信号,给程序处理收尾工作的机会。kill -9 [PID]:发送SIGKILL信号,立即强制停止进程。
正常关闭Web服务时,优先使用
kill [PID]。只有程序卡死或无法正常退出时,再考虑kill -9 [PID]。
四、动态监控
使用top实时查看进程资源占用:
bash
top常用按键:
P:按CPU使用率排序。M:按内存占用排序。q:退出。