news 2026/6/9 22:25:16

对于后端要和linux打交道要掌握的点

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
对于后端要和linux打交道要掌握的点

管理运行在Linux上的Spring Boot JAR包进程,你需要掌握以下核心命令和技巧:

1.进程查找命令

查找Spring Boot进程

# 按名称查找psaux|grepjavapsaux|grepspringpsaux|grepjar# 精确查找jar包进程psaux|grep-E'\.jar$'# 查看指定端口的进程(Spring Boot常用端口)sudolsof-i :8080sudonetstat-tlnp|grep:8080

使用pgrep和pkill

# 查找进程IDpgrep -f"java.*jar"pgrep -f"spring-boot"# 按应用名查找pgrep -f"myapp.jar"

2.JAR包信息查看

查看启动命令和参数

# 查看完整的启动命令psaux|grepjava|grep-vgrep# 查看进程环境变量cat/proc/{PID}/environ|tr'\0''\n'# 查看JVM参数jcmd{PID}VM.command_line

查看JAR包路径

# 方法1:通过进程信息ls-l /proc/{PID}/exe# 方法2:通过lsof查看打开的文件sudolsof-p{PID}|grep'\.jar$'# 方法3:查看进程的工作目录ls-l /proc/{PID}/cwd

3.进程管理命令

启动Spring Boot应用

# 直接启动java -jar app.jar# 后台启动nohupjava -jar app.jar>app.log2>&1&# 使用systemd(推荐生产环境)sudosystemctl start myapp# 使用screen/tmuxscreen-S myspring java -jar app.jar

停止进程

# 优雅停止kill{PID}# 强制停止kill-9{PID}# 按名称停止pkill-f"myapp.jar"# 停止指定端口的进程fuser-k8080/tcp

4.日志查看命令

# 查看实时日志tail-f app.log# 查看Spring Boot启动日志journalctl -u myapp.service -f# 按时间查看grep"2024-01-01"app.log# 查看错误日志grep-i error app.log# 查看最后100行tail-n100app.log

5.监控和诊断

监控资源使用

# 查看CPU/内存使用top-p{PID}htop# 查看线程ps-T -p{PID}# 查看JVM堆内存jstat -gc{PID}# 生成堆转储jmap -dump:live,format=b,file=heap.bin{PID}

网络连接检查

# 查看应用监听的端口sudoss -tlnp|grep{PID}sudonetstat-tlnp|grep{PID}# 查看连接数sudoss -s|grep:8080

6.常用组合命令

一键找到并显示Spring Boot应用信息

#!/bin/bash# find_springboot.shecho"=== 查找所有Spring Boot应用 ==="psaux|grepjava|grep-E'\.jar$'|grep-vgrep|whilereadlinedopid=$(echo$line|awk'{print $2}')app=$(echo$line|awk'{for(i=11;i<=NF;i++) printf $i" "}')echo"PID:$pid"echo"应用:$app"echo"端口:$(sudolsof-p $pid|grepLISTEN|awk'{print $9}')"echo"---"done

优雅重启脚本

#!/bin/bashAPP_NAME="myapp.jar"PID=$(pgrep -f $APP_NAME)if[-z"$PID"];thenecho"应用未运行"exit1fiecho"停止应用..."kill$PIDsleep10# 等待进程停止ifps-p$PID>/dev/null;thenecho"强制停止..."kill-9$PIDfiecho"启动应用..."nohupjava -jar$APP_NAME>app.log2>&1&

7.系统服务管理(生产环境推荐)

Systemd服务配置示例

# /etc/systemd/system/myapp.service [Unit] Description=My Spring Boot Application After=network.target [Service] User=appuser WorkingDirectory=/opt/myapp ExecStart=/usr/bin/java -jar myapp.jar SuccessExitStatus=143 TimeoutStopSec=10 Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target

使用命令

# 管理服务sudosystemctl start myappsudosystemctl stop myappsudosystemctl restart myappsudosystemctl status myappsudojournalctl -u myapp -f

8.实用技巧

查找占用端口的进程

# 查找哪个进程占用了8080端口functionfind_port(){sudolsof-i:$1}# 批量查找Spring Boot应用find/opt -name"*.jar"-type f2>/dev/null

查看Spring Boot健康检查

# 使用curl检查应用健康状态curlhttp://localhost:8080/actuator/healthcurlhttp://localhost:8080/actuator/info

总结要点

  1. 查找进程ps aux | grep java+pgrep -f
  2. 查看详情/proc/{PID}/目录 +lsof
  3. 管理进程kill/pkill+systemctl
  4. 监控日志tail -f+journalctl
  5. 诊断问题jcmd+jstack+jmap

掌握这些命令组合,你就能高效地管理和排查Linux上的Spring Boot应用了。建议将常用命令写成脚本,提高工作效率。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/6 3:30:42

强烈安利10个一键生成论文工具,本科生毕业论文轻松搞定!

强烈安利10个一键生成论文工具&#xff0c;本科生毕业论文轻松搞定&#xff01; 论文写作的救星&#xff0c;AI 工具如何改变你的学术之路 在如今这个信息爆炸的时代&#xff0c;本科生的毕业论文写作已经不再是单纯的脑力劳动&#xff0c;而是一场与时间、效率和质量的较量。…

作者头像 李华
网站建设 2026/6/6 17:24:13

uniapp的页面

首页pages.json -> pages配置项中的第一个页面就是应用启动后的首页新建页面点击 " 文件->新建->3.uni-app页面" , 会弹出下面的页面创建对话框&#xff0c; 里面有相当多的模板可供选择页面构成uni-app 页面基于 vue 规范。一个页面内&#xff0c;有3个根节…

作者头像 李华
网站建设 2026/6/6 17:22:08

Python+tkinter程序中ttk.Progressbar进度条组件用法演示

董付国老师Python系列教材&#xff08;累计印刷超过240次&#xff09;推荐与选用参考 中国大学MOOC董付国老师“Python程序设计基础”可以发证书啦 开学第一课&#xff1a;一定不要这样问老师Python问题 Python小屋7500道习题免费在线练习 “Python小屋”1400篇历史文章分类速查…

作者头像 李华
网站建设 2026/6/6 21:25:55

搞定100+表迁移 Navicat实战复盘

需求清单&#xff1a; 100张数据表要迁移&#xff08;还要支持后续动态新增&#xff09;双链路同步&#xff1a;MySQL到MySQL、MongoDB到PostgreSQL不能写死配置&#xff0c;要能灵活扩展 技术约束&#xff1a; 源环境&#xff08;塔外&#xff09;和目标环境&#xff08;塔…

作者头像 李华
网站建设 2026/6/9 10:51:13

【开题答辩全过程】以 基于springboot的日用药品仓库管理系统的设计与实现为例,包含答辩的问题和答案

个人简介 一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等 开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。 感谢大家…

作者头像 李华
网站建设 2026/6/6 21:22:03

程序员可以做什么副业?我的经历告诉你

今天在知乎上答了个回答&#xff0c;写了一些自己的经历&#xff0c;今天就发到这里。希望对各位同仁有用吧。 我曾经就是程序员&#xff0c;因为会点程序&#xff0c;懂点电脑&#xff0c;所以误打误打误撞进了一个副业行业&#xff0c;现在感觉真是庆幸&#xff0c;因为这个副…

作者头像 李华