进程管理入门:查看和控制Linux进程
2026/6/7 12:13:18 网站建设 项目流程

进程管理入门:查看和控制Linux进程

服务器上跑着很多程序,怎么查看?怎么管理?

今天聊聊Linux进程管理的基础知识。

查看进程

ps命令:

# 查看所有进程psaux# 搜索特定进程psaux|grepnginx

输出解读:

USER PID %CPU %MEM VSZ RSS TTY STAT TIME COMMAND root 1234 0.5 2.1 123456 21000 ? Sl 10:23 nginx
  • USER:运行用户
  • PID:进程ID
  • %CPU:CPU占用
  • %MEM:内存占用
  • STAT:进程状态
  • COMMAND:命令名

top/htop实时监控:

top

常用操作:

  • P:按CPU排序
  • M:按内存排序
  • k:杀进程
  • q:退出

推荐用htop,更直观:

aptinstallhtophtop

查找进程ID

# 用pgreppgrep nginx# 用pidofpidof nginx# 用ps过滤psaux|grepnginx|awk'{print$2}'

杀死进程

用kill命令:

# 正常终止(发送SIGTERM)kill1234# 强制杀死(发送SIGKILL)kill-91234

按名称杀:

# 杀所有匹配的进程pkillnginx# 杀所有匹配的进程(更精确)killallnginx

先查再杀的套路:

# 找到PIDpsaux|grepnginx# 杀掉kill1234

进程状态

R - 运行中 S - 睡眠中(等待事件) D - 不可中断睡眠(通常是IO) Z - 僵尸进程(已结束但未被回收) T - 停止/挂起

处理僵尸进程:

僵尸进程(Z状态)本身不占资源,但说明父进程有问题。

# 找僵尸进程的父进程ps-ef|grepdefunct# 找到PPID,kill父进程

后台运行

&符号:

./script.sh&

nohup命令:

nohup./script.sh&

nohup会忽略挂断信号,退出终端后进程继续运行。

查看后台任务:

jobs

把后台任务调到前台:

fg%1

进程优先级

查看优先级:

ps-eo pid,ni,comm|head

NI列是nice值,-20到19,越小优先级越高。

调整优先级:

# 启动时指定nice-n10./script.sh# 修改运行中的进程renice10-p1234

系统服务管理

现代Linux用systemd管理服务:

# 查看服务状态systemctl status nginx# 启动/停止/重启systemctl start nginx systemctl stop nginx systemctl restart nginx# 开机自启systemctlenablenginx systemctl disable nginx# 查看所有运行中的服务systemctl list-units --type=service --state=running

实战案例

案例1:找出CPU占用最高的进程

psaux --sort=-%cpu|head-10

案例2:找出内存占用最高的进程

psaux --sort=-%mem|head-10

案例3:杀死所有Java进程

pkill-f java

案例4:查看进程的详细信息

# 查看进程打开的文件lsof-p1234# 查看进程的网络连接ss -tlnp|grep1234# 查看进程的资源限制cat/proc/1234/limits

案例5:监控特定进程

# 实时看某个进程的资源占用top-p1234# 或者用watchwatch-n1"ps -p 1234 -o %cpu,%mem,cmd"

screen/tmux保持会话

SSH断开后想让程序继续跑,用screen或tmux:

# 创建会话screen-S myapp# 运行程序./my_long_script.sh# 分离会话(Ctrl+A然后按D)# 重新连接screen-r myapp

即使SSH断了,进程也不会停。

远程进程管理

管理多台服务器的进程,我用星空组网连起来后可以批量操作:

# 批量查看nginx状态foripin10.26.1.{10..15};doecho"===$ip==="sshroot@$ip"systemctl status nginx | head -5"done

比一台台登录方便多了。

常用命令速查

场景命令
查看所有进程ps aux
实时监控tophtop
搜索进程pgrep 名称
杀死进程kill PID
强制杀死kill -9 PID
按名称杀pkill 名称
后台运行nohup command &
服务状态systemctl status 服务

小结

进程管理核心:

  • 看进程:ps aux/top
  • 杀进程:kill/pkill
  • 后台运行:nohup ... &
  • 服务管理:systemctl

有问题评论区交流~

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询