0

Linux服务器进程管理命令大全:从查看到终止的完整实战指南

2026.05.24 | youres | 13次围观

为什么需要掌握进程管理命令

在Linux服务器运维中,进程管理是最基础也是最重要的技能之一。无论是排查服务器负载过高问题、定位异常进程,还是手动终止卡死的服务,都离不开进程管理命令。本文将系统讲解Linux下最常用的进程管理工具,帮助你快速定位和解决服务器问题。

一、进程查看命令

1. ps命令:静态查看进程

ps是最基础的进程查看命令,用于显示当前系统中的进程快照。

常用参数组合:

# 查看所有进程的详细信息
ps aux

# 查看指定用户的进程
ps -u username

# 查看指定进程ID的详细信息
ps -p 1234 -o pid,ppid,cmd,%mem,%cpu

# 以树形结构显示进程关系
ps auxf

# 查看线程信息
ps -eLf

输出字段说明:

  • USER:进程所属用户
  • PID:进程ID,唯一标识
  • %CPU:CPU使用百分比
  • %MEM:内存使用百分比
  • VSZ:虚拟内存大小(KB)
  • RSS:实际物理内存大小(KB)
  • STAT:进程状态(R运行、S休眠、D不可中断、Z僵尸、T停止)
  • START:进程启动时间
  • TIME:累计CPU时间
  • COMMAND:启动命令

2. top命令:动态监控进程

top是最常用的实时进程监控工具,默认每3秒刷新一次。

# 基本用法
top

# 指定刷新间隔(秒)
top -d 1

# 监控指定用户
top -u nginx

# 监控指定进程
top -p 1234,5678

# 批处理模式,输出n次后退出
top -b -n 1 > processes.txt

交互快捷键:

  • P:按CPU使用率排序
  • M:按内存使用率排序
  • T:按运行时间排序
  • c:切换完整命令行显示
  • k:终止指定PID的进程
  • 1:显示所有CPU核心
  • q:退出

3. htop命令:增强版进程监控

htoptop的增强版,提供更友好的交互界面和更多功能。

# 安装htop(CentOS)
yum install htop -y

# 安装htop(Ubuntu)
apt install htop -y

# 启动htop
htop

# 只显示指定用户的进程
htop -u nginx

# 只显示进程树
htop -t

htop优势:

  • 支持鼠标操作
  • 彩色显示,直观易读
  • 支持进程树视图
  • 支持鼠标点击选择进程并操作
  • 可横向滚动查看完整命令行

二、进程终止命令

1. kill命令:发送信号给进程

kill命令用于向进程发送信号,最常用的是终止进程。

# 常用信号
kill -l          # 列出所有信号

# SIGTERM(15):优雅终止(默认)
kill 1234

# SIGKILL(9):强制终止
kill -9 1234

# SIGHUP(1):重载配置
kill -HUP 1234

# SIGSTOP(19):暂停进程
kill -STOP 1234

# SIGCONT(18):继续运行
kill -CONT 1234

常用信号说明:

  • SIGTERM(15):请求进程正常退出,进程可以捕获并做清理工作
  • SIGKILL(9):强制终止,进程无法捕获或忽略
  • SIGHUP(1):通常用于通知进程重新加载配置
  • SIGINT(2):相当于Ctrl+C,中断进程

2. killall命令:按名称终止进程

# 终止所有nginx进程
killall nginx

# 强制终止
killall -9 nginx

# 交互模式,询问确认
killall -i nginx

# 只终止属于指定用户的进程
killall -u apache nginx

3. pkill命令:按模式匹配终止

# 终止所有名称包含nginx的进程
pkill nginx

# 终止属于指定用户的进程
pkill -u apache nginx

# 终耗最老的进程
pkill -o nginx

# 终止最新的进程
pkill -n nginx

# 精确匹配进程名
pkill -x nginx

三、进程优先级管理

1. nice命令:启动时设置优先级

Linux进程优先级范围是-20(最高)到19(最低),默认为0。

# 以较低优先级启动(优先级10)
nice -n 10 ./backup.sh

# 以较高优先级启动(优先级-5,需要root)
nice -n -5 ./important_task.sh

2. renice命令:调整运行中进程优先级

# 调整进程优先级
renice -n 5 -p 1234

# 调整指定用户所有进程的优先级
renice -n 5 -u apache

# 调整指定进程组的优先级
renice -n 5 -g 1000

四、进程监控实战技巧

场景1:排查CPU占用过高的进程

# 查看CPU占用最高的10个进程
ps aux --sort=-%cpu | head -10

# 或者使用top
top -o %CPU

# 查看进程的线程CPU占用
top -H -p 1234

# 查看进程的详细线程信息
ps -Lp 1234 -o pid,lwp,psr,%cpu,comm

场景2:排查内存占用过高的进程

# 查看内存占用最高的10个进程
ps aux --sort=-%mem | head -10

# 或者使用top
top -o %MEM

# 查看进程的详细内存信息
pmap -x 1234

场景3:查找僵尸进程

# 查找僵尸进程
ps aux | awk '{if(=="Z") print}'

# 查找僵尸进程及其父进程
ps -eo pid,ppid,stat,cmd | grep Z

# 清理僵尸进程(通过终止父进程)
kill -9 <父进程PID>

场景4:监控特定服务的进程

# 监控nginx所有worker进程
watch -n 1 'ps aux | grep nginx | grep -v grep'

# 统计进程数量
ps aux | grep nginx | grep -v grep | wc -l

# 查看进程打开的文件
lsof -p 1234

五、进程管理最佳实践

1. 安全终止进程的原则

  • 优先使用kill PID(SIGTERM),给进程清理的机会
  • 等待几秒,如果进程仍然存在再使用kill -9
  • 避免在高峰期强制终止关键服务进程
  • 终止进程前确认不会影响其他服务

2. 进程监控脚本示例

#!/bin/bash
# 监控CPU和内存占用过高的进程并发送告警

CPU_THRESHOLD=80
MEM_THRESHOLD=80
ALERT_EMAIL="admin@example.com"

# 检查CPU占用
HIGH_CPU=

if [ -n "" ]; then
    echo "发现CPU占用过高的进程:
" | mail -s "服务器CPU告警" 
fi

# 检查内存占用
HIGH_MEM=

if [ -n "" ]; then
    echo "发现内存占用过高的进程:
" | mail -s "服务器内存告警" 
fi

相关文章推荐

总结

掌握Linux进程管理命令是服务器运维的基本功。ps、top、htop用于查看进程状态,kill、killall、pkill用于终止进程,nice、renice用于调整优先级。在实际工作中,要养成定期检查进程状态的习惯,及时发现和处理异常进程,保障服务器稳定运行。

版权声明

本文仅代表个人观点。
本文系AI辅助作者原创,未经许可,转载请保留原文链接。

发表评论
883文章数 0评论数
作者其它文章