Linux 进程管理
查看正在运行的进程
可以使用 ps 命令查看进程的运行状态,包括后台进程,例如:
$ps
PID TTY TIME CMD
18358 ttyp3 00:00:00 sh
18361 ttyp3 00:01:31 abiword
18789 ttyp3 00:00:00 ps
还可以结合 -f 选项查看更多信息,f 是 full 的缩写,例如:
$ps -f
UID PID PPID C STIME TTY TIME CMD
amrood 6738 3662 0 10:23:03 pts/6 0:00 first_one
amrood 6739 3662 0 10:22:54 pts/6 0:00 second_one
amrood 3662 3657 0 08:10:53 pts/6 0:00 -ksh
amrood 6892 3662 4 10:51:50 pts/6 0:00 ps -f
每列的含义如下:
列 | 描述 |
---|---|
UID | 进程所属用户的ID,即哪个用户创建了该进程。 |
PID | 进程ID。 |
PPID | 父进程ID,创建该进程的进程称为父进程。 |
C | CPU使用率。 |
STIME | 进程被创建的时间。 |
TTY | 与进程有关的终端类型。 |
TIME | 进程所使用的CPU时间。 |
CMD | 创建该进程的命令。 |
ps 命令还有其他一些选项:
选项 | 说明 |
---|---|
-a | 显示所有用户的所有进程。 |
-x | 显示无终端的进程。 |
-u | 显示更多信息,类似于 -f 选项。 |
-e | 显示所有进程。 |
终止进程
当进程运行在前台时,可以通过 kill 命令或 Ctrl+C 组合键来结束进程。
如果进程运行在后台,那么首先要通过 ps 命令来获取进程ID,然后使用 kill 命令“杀死”进程,例如:
$ps -f UID PID PPID C STIME TTY TIME CMD amrood 6738 3662 0 10:23:03 pts/6 0:00 first_one amrood 6739 3662 0 10:22:54 pts/6 0:00 second_one amrood 3662 3657 0 08:10:53 pts/6 0:00 -ksh amrood 6892 3662 4 10:51:50 pts/6 0:00 ps -f $kill 6738 Terminated
如上所示,kill 命令终结了 first_one 进程。
如果进程忽略 kill 命令,那么可以通过 kill -9 来结束:
$kill -9 6738 Terminated
top命令
top 命令是一个很有用的工具,它可以动态显示正在运行的进程,还可以按照指定条件对进程进行排序,与Windows的任务管理器类似。
top 命令可以显示进程的很多信息,包括物理内存、虚拟内存、CPU使用率、平均负载以及繁忙的进程等。例如:
$top
这里仅给出一个示意图,读者最好亲自运行一下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)