菜单

Administrator
发布于 2026-10-09 / 4 阅读
0
0

Linux 学习笔记 L8:进程管理

程序跑起来就是进程。这篇讲怎么看谁在跑、怎么杀进程、前后台切换。

ps:看谁在跑

ps aux
USER  PID %CPU %MEM COMMAND
root    1  0.0  0.5 /sbin/init
chris 1234  2.1  1.2 nginx: worker

a=所有用户 x=无终端的也要 u=详细信息。PID 是进程身份证号,kill 就靠它。

ps aux | grep nginx   # 只看 nginx
pstree -p             # 树形看父子关系

top / htop:实时看

top

按 q 退出,P 按 CPU 排序,M 按内存排序。htop 更直观(需另装),支持鼠标点选杀进程。

kill:杀进程先礼后兵

kill 1234        # 发 TERM 信号,让进程自己收拾完退出(优雅)
kill -9 1234     # 发 KILL,强制杀(数据可能丢,不到万不得已不用)
killall nginx    # 按名字杀一批
pkill -f "python app.py"  # 按命令行特征杀

顺序:先 kill PID,不死再 kill -9。上来就 -9 容易丢数据、留僵尸进程。

前台后台:& / jobs / bg / fg

./long_task.sh &       # 加 & 直接后台跑
jobs                   # 看后台任务列表
bg %1                  # 把暂停的任务丢后台继续
fg %1                  # 把后台任务拉回前台

Ctrl+Z 暂停前台任务,bg 让它后台继续,fg 拉回来。关终端任务就死了,想过夜用:

nohup ./long_task.sh &   # 关终端也不死,输出进 nohup.out

实战

程序卡死:ps aux | grep app 找 PID → kill PID → 不死 kill -9 PID。

80 端口被占:ss -tlnp | grep 80 看谁在用 → kill 掉再启动你的服务。

VPS 变慢:top 按 P 看谁吃 CPU,陌生进程名+高 CPU,八成是挖矿木马,kill 后查登录日志。

小结

命令

作用

ps aux

看所有进程

top/htop

实时监控

kill PID

优雅终止

kill -9 PID

强制杀

killall/pkill

按名杀

& / jobs / bg / fg

前后台切换

nohup

断开终端任务不死

下一篇 L9:磁盘与文件系统——df/du 找谁吃了磁盘,mount 挂载,磁盘满了三板斧。


评论