centos7系统运行、停止java程序常用命令,springboot打包运行

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: centos7系统运行、停止java程序常用命令,springboot打包运行

对于Spring Boot导出的jar包程序

当连接的远程服务器执行的时候,一旦关闭了当前终端,程序也被迫停止运行了。这显然是不行的

我想要的是让它常驻后台执行,不受启动其终端关闭与否的影响。


Springboot打包跳过测试命令:

mvn clean package -DskipTests
解决办法

在jar包文件所在的目录执行以下命令:

nohup java -jar springboot-0.0.1-SNAPSHOT.jar  >nohup 2>&1 &

nohup: 不挂断的执行命令,忽略所有的挂断信号。 运行后台命令 最后加 &

在jar目录下会生成一个nohup.out文件,默认的log输出到这里了。

命令解释


以上命令是不输出启动日志的,运行后会只输出一个运行的进程号。

想要输出启动日志可以这样:

java -jar xx.jar > log.file 2>&1 &

这里启动信息就输出到了日志文件上,注意的是log文件需要先创建chmod授权

可以给日志一个777授权,测试阶段无所谓:

chmod 777 -R /home/logs
2>&1含义

& 1 更准确的说是文件描述符 1,


而1 一般代表的就是STDOUT_FILENO,实际上这个操作就是一个dup2(2)调用


.他标准输出到all_result ,然后复制标准输出到文件描述符2(STDERR_FILENO), 其后果就是文件描述符1和2指向同一个文件表项,也可以说错误的输出被合并了


.其中0表示键盘输入 1表示屏幕输出 2表示错误输出.把标准出错重定向到标准输出,然后扔到/DEV/NULL下面去。通俗的说,就是把所有标准输出和标准出错都扔到垃圾桶里面。

含义
0 标准输入(一般是键盘)
1 标准输出(一般是显示屏,准确的说是用户终端控制台)
2 标准错误(出错信息输出)

最后一个& , 是让该命令在后台执行

查看进程

查看全部进程

ps -ef

查看java进程

ps -ef |grep java

如图所示:

第一个进程是我jar包启动进程,第二个是java的查找进程不用管

前面的那个root是当前用户,第一个数字403是当前进程号

杀死当前进程

kill -9 403

只查询当前jar包程序的进程号:

pgrep -f 'java -jar springboot-0.0.1-SNAPSHOT.jar'

如图所示:

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
JavaScript 前端开发 Java
解决跨域问题大集合:vue-cli项目 和 java/springboot(6种方式) 两端解决(完美解决)
这篇文章详细介绍了如何在前端Vue项目和后端Spring Boot项目中通过多种方式解决跨域问题。
355 1
解决跨域问题大集合:vue-cli项目 和 java/springboot(6种方式) 两端解决(完美解决)
|
20天前
|
监控 前端开发 Java
Java SpringBoot –性能分析与调优
Java SpringBoot –性能分析与调优
|
21天前
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
28 4
|
25天前
|
Java Maven Android开发
【Azure Developer】VS Code打包Java maven Project 遇见 BUILD FAILURE
Unknown lifecycle phase "lean". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>
|
23天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
28天前
|
JSON Java Maven
实现Java Spring Boot FCM推送教程
本指南介绍了如何在Spring Boot项目中集成Firebase云消息服务(FCM),包括创建项目、添加依赖、配置服务账户密钥、编写推送服务类以及发送消息等步骤,帮助开发者快速实现推送通知功能。
66 2
|
1月前
|
IDE Java 编译器
Java:如何确定编译和运行时类路径是否一致
类路径(Classpath)是JVM用于查找类文件的路径列表,对编译和运行Java程序至关重要。编译时通过`javac -classpath`指定,运行时通过`java -classpath`指定。IDE如Eclipse和IntelliJ IDEA也提供界面管理类路径。确保编译和运行时类路径一致,特别是外部库和项目内部类的路径设置。
|
1月前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
47 2
|
1月前
|
Java C++
做了个Java打包工具,可以双击启动了!
本文介绍了作者日常使用Java和Swing进行开发的经验,以及Java程序分发时遇到的问题,如需要JRE环境。文中列举了几种常见的Java程序打包方法,并对比了各自的优缺点,最后作者结合这些方案,利用Winform开发了一款工具,将Java程序打包成二进制可执行文件,简化了分发流程。
做了个Java打包工具,可以双击启动了!
|
26天前
|
缓存 Java 程序员
Java|SpringBoot 项目开发时,让 FreeMarker 文件编辑后自动更新
在开发过程中,FreeMarker 文件编辑后,每次都需要重启应用才能看到效果,效率非常低下。通过一些配置后,可以让它们免重启自动更新。
26 0
下一篇
无影云桌面