Linux Shell 进程管理命令详解
ps 命令:查看进程状态
ps 命令用于显示当前系统中的进程状态。常用参数组合为 ps aux,其中:
a显示所有用户的进程u显示进程的详细信息x包括没有控制终端的进程
典型输出包含以下字段:
- USER:进程所有者
- PID:进程ID
- %CPU:CPU占用率
- %MEM:内存占用率
- COMMAND:启动命令
ps aux | grep nginx
该命令可过滤显示nginx相关进程。
top 命令:实时进程监控
top 提供动态实时视图,显示系统概况和进程列表。界面分为两部分:
- 上部显示系统整体信息(负载、任务数、CPU/内存使用)
- 下部显示进程列表,默认按CPU占用排序
交互命令:
P按CPU使用排序M按内存使用排序k终止指定PID的进程q退出
kill 命令:终止进程
通过信号控制进程,常用信号:
SIGTERM(15)默认终止信号,允许进程清理SIGKILL(9)强制立即终止
kill -15 1234 # 优雅终止PID 1234
kill -9 1234 # 强制终止
pkill 和 killall:批量终止
- pkill 按名称模式匹配
pkill -f "python script.py"
- killall 终止所有匹配进程
killall nginx
jobs 和 fg/bg:作业控制
jobs列出后台作业fg %n将作业n调到前台bg %n将暂停的作业n转到后台
sleep 60 &
jobs
fg %1
nice 和 renice:调整优先级
优先级范围-20(最高)到19(最低):
nice -n 10 ./script.sh # 启动时设置
renice 5 -p 1234 # 修改运行中进程
nohup:脱离终端运行
使进程忽略挂断信号,持续运行:
nohup ./server.sh > log.txt 2>&1 &
lsof:查看打开文件
列出进程打开的文件和网络连接:
lsof -i :80 # 查看80端口进程
lsof -u www-data # 查看用户打开文件
进程状态监控工具
htop:交互式增强版topglances:综合监控工具atop:记录历史资源使用vmstat:虚拟内存统计
实践建议
- 生产环境慎用
kill -9,优先尝试SIGTERM - 长期运行服务建议搭配
screen/tmux - 关键进程可使用
systemd或supervisord托管 - 定期检查
/var/log下的系统日志
掌握这些命令组合能有效处理进程异常、资源排查等运维场景。建议通过man命令查阅各工具的完整参数说明。
438

被折叠的 条评论
为什么被折叠?



