当前位置: 首页 > news >正文

Linux使用pkill清理各种服务进程的方法大全

通过pkill清理不同类型的服务进程需要根据进程特征进行精确匹配。本文介绍各种服务的清理方法1. Java -jar 启动的服务精确匹配特定的jar包123456789# 方法1通过jar包名匹配pkill -fmyapp.jar# 方法2通过主类名匹配pkill -fcom.example.MainClass# 方法3通过应用名匹配在启动时指定# java -Dapp.namemyapp -jar myapp.jarpkill -fapp.namemyapp清理所有Java进程不推荐太暴力123# 谨慎使用会杀掉所有Java进程pkill -9 javapkill -9 javaw2. Redis 二进制启动的服务1234567891011# 方法1通过进程名redis-server通常作为服务名pkill redis-server# 方法2通过配置文件路径如果通过配置文件启动pkill -fredis-server.*/path/to/redis.conf# 方法3通过端口如果固定端口pkill -fredis-server.*:6379# 方法4优雅关闭发送SHUTDOWN信号redis-cli -p 6379shutdown3. Elasticsearch 服务1234567891011121314# 方法1通过ES进程名pkill -f elasticsearch# 方法2通过Java进程的ES特征pkill -forg.elasticsearch.bootstrap.Elasticsearch# 方法3通过PID文件推荐方式if[ -f/var/run/elasticsearch/elasticsearch.pid ];thenkill$(cat/var/run/elasticsearch/elasticsearch.pid)fi# 方法4通过ES的专用停止脚本如果有/path/to/elasticsearch/bin/elasticsearch-d -p pidkill$(catpid)4. Nginx 服务12345678910111213141516# 方法1优雅停止推荐nginx -s quit# 方法2快速停止nginx -s stop# 方法3使用pkill根据进程名pkill nginx# 方法4杀掉master和worker进程pkill -9 nginx# 方法5通过PID文件if[ -f/run/nginx.pid ];thenkill$(cat/run/nginx.pid)fi5. 通用的安全清理策略方案1按用户清理如果服务运行在特定用户下12345# 清理www用户的所有进程pkill -u www# 清理特定用户下的Java进程pkill -u appuser -f java方案2按端口清理12345# 清理占用8080端口的进程fuser -k 8080/tcp# 或者使用更直接的方法kill$(lsof-t -i:8080)方案3组合匹配精确清理12345# 清理包含特定关键词的Java进程pkill -fjava.*myapp# 清理除了特定进程外的所有Java进程pgrep -f java |grep-v$(pgrep -fimportant-app) |xargskill6. 封装成脚本的完整方案123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384#!/bin/bash# 文件名service_cleaner.sh# 颜色输出RED\033[0;31mGREEN\033[0;32mYELLOW\033[1;33mNC\033[0mclean_service() {localservice_name$1localpattern$2echo-e${YELLOW}清理 $service_name 服务...${NC}# 查找进程pids$(pgrep -f$pattern)if[ -z$pids];thenecho-e${GREEN}$service_name 服务未运行${NC}return0fi# 显示进程信息echo找到进程: $pidsps-fp $pids |tail-n 2# 发送SIGTERM信号优雅关闭echo发送优雅关闭信号...kill$pids 2/dev/null# 等待最多10秒foriin{1..10};doif! pgrep -f$pattern/dev/null;thenecho-e${GREEN}$service_name 已成功停止${NC}return0fisleep1done# 强制关闭echo强制关闭...kill-9 $pids 2/dev/nullsleep1ifpgrep -f$pattern/dev/null;thenecho-e${RED}警告: 仍有 $service_name 进程在运行${NC}return1elseecho-e${GREEN}$service_name 已强制停止${NC}return0fi}# 清理各种服务echo-e\n${YELLOW} 开始清理服务 ${NC}# Redisclean_serviceRedisredis-server# Elasticsearchclean_serviceElasticsearchorg.elasticsearch.bootstrap.Elasticsearch# Nginxclean_serviceNginxnginx:# Java应用根据实际情况调整模式clean_serviceMyJavaAppmyapp.jarclean_serviceSpringBootspring-boot# 其他端口占用清理echo-e\n${YELLOW} 清理端口占用 ${NC}forportin8080 9200 9300 6379 80 443;dopid$(lsof-t -i:$port 2/dev/null)if[ ! -z$pid];thenecho清理端口 $port 的进程: $pidkill$pid 2/dev/nullfidoneecho-e\n${YELLOW} 最终状态检查 ${NC}psaux |grep-Eredis|elasticsearch|nginx|java.*jar|grep-vgrepecho-e\n${GREEN}清理完成${NC}7. 一键清理所有开发环境服务12345678910111213141516171819202122232425262728293031323334#!/bin/bash# dev_cleanup.sh - 清理开发环境服务# 停止所有服务echo停止所有开发服务...# Docker服务docker-compose down 2/dev/null# Redisredis-clishutdown2/dev/null|| pkill redis-server# Elasticsearchpkill -f elasticsearch# Nginxnginx -s stop 2/dev/null|| pkill nginx# Java服务按特定模式pkill -fjava.*\.jar# 数据库brew services stop mysql 2/dev/null# macOS Homebrewsystemctl stop mysql 2/dev/null# Linux systemd# 检查清理结果echo-e\n剩余相关进程:psaux |grep-Eredis|elastic|nginx|java.*jar|mysql|mongo|grep-vgrep# 清理端口占用echo-e\n释放常用端口...forportin8080 8081 3000 4200 6379 9200 9300 3306 27017;dofuser -k $port/tcp2/dev/nulldone8. 最佳实践建议优先使用专用停止命令123# 优于 pkillnginx -s quitredis-clishutdown创建服务启动/停止脚本123456789# start_services.sh#!/bin/bashnohupjava -jar app.jar app.log 21 redis-server/etc/redis.conf # stop_services.sh#!/bin/bashpkill -fapp.jarredis-clishutdown使用进程管理工具12345# 使用supervisorsudosupervisorctl stop all# 使用systemdsudosystemctl stop nginx redis elasticsearch安全检查后再清理12345# 确认进程psaux |grep-Ejava.*jar|redis|nginx# 确认端口ss -tuln |grep-E:(8080|6379|80)以上就是Linux使用pkill清理各种服务进程的方法大全的详细内容
http://www.gsyq.cn/news/1388203.html

相关文章:

  • Linux设置用户密码过期时间或永不过期的具体方法
  • Linux磁盘开机挂载的实现步骤
  • 2026年娄底市正规上门黄金白银回收品牌门店名录 K金+铂金+金条+银条回收门店联系方式推荐+指南 - 盛世金银回收
  • 2026年兰州市正规上门黄金白银回收品牌门店名录 K金+铂金+金条+银条回收门店联系方式推荐+指南 - 盛世金银回收
  • 射频振荡器深度剖析:从巴克豪森判据到高阶设计考量
  • 技术深度解析:哔哩下载姬downkyi的模块化架构与高级视频格式处理方案
  • 用Logisim玩转汉字编码:从GB2312到点阵显示的保姆级实验指南
  • 为RGB数码管设计3D打印外壳:从开源硬件到完整产品
  • 2026年淮南市本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 大熊猫898989
  • AI驱动Laravel包开发:多智能体协作提升代码质量与效率
  • pip深度指南:Python包管理原理、实战与工程化规范
  • 基于MC34063的负150V开关电源设计:从拓扑改造到工程实践
  • Git删分支原理与安全操作全流程指南
  • Unity性能调试神器Graphy实战指南:真机轻量监控与团队协作优化
  • Rune:用Rust构建原生AI运行时,解决模型部署碎片化难题
  • 文本数据处理
  • Unity抛物线轨迹可视化:LineRenderer性能优化与精准渲染实战
  • Excel簇状柱形图实战指南:掌握对比、分组与可读性核心逻辑
  • 2026年黄山市本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 大熊猫898989
  • Unity 6入门本质:游戏引擎是实时交互操作系统
  • 2026 智能停车场解决方案对比 工程商实用选型攻略
  • 2026低代码排名:大中小企业场景适配硬核对比
  • 创想三维携产品矩阵亮相高教展,科技让教学不再“纸上谈兵”
  • 基于树莓派Pico 2与SiPM的DIY伽马能谱仪:从原理到实践
  • ESP8266与NeoPixel打造动能光效时钟:从硬件选型到Web控制
  • 最推荐五常大米源头怎么煮
  • DCF(现金流折现)估值模型——用Excel计算股票内在价值
  • Ansys Workbench | 材料微观结构:四种 RVE 的均质化分析
  • 【车载 AOSP 16 蓝牙(bluedroid)服务】【qcom 平台双蓝牙】【8.A2dp.setActiveDevice 到 Audio Hal 交互框架梳理】
  • PromptOps:用Python构建生产级提示词工程体系