Linux进程管理命令全解析,从 .NET 到 Java 的转型指南:详细学习路线与实践建议。

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:交互式增强版top
  • glances:综合监控工具
  • atop:记录历史资源使用
  • vmstat:虚拟内存统计
实践建议
  1. 生产环境慎用kill -9,优先尝试SIGTERM
  2. 长期运行服务建议搭配screen/tmux
  3. 关键进程可使用systemdsupervisord托管
  4. 定期检查/var/log下的系统日志

掌握这些命令组合能有效处理进程异常、资源排查等运维场景。建议通过man命令查阅各工具的完整参数说明。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值