zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Linux系统下启动 jar 包的几种常见方式

2023-04-18 15:39:39 时间

方法一:直接启动Java包

java -jar xxx.jar

缺点:缺点:当前ssh窗口会被锁定,不能再操作其他命令,如果需要执行其他命令,则需要打断进程,可按CTRL + C打断程序运行,或直接关闭窗口,程序也会退出。

方法二:后台启动 jar 包

java -jar xxx.jar &

缺点:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。

方法三:后台不挂断启动

nohup java -jar xxx.jar &

缺点:用 nohub 命令启动 jar 包,是在后台不挂断运行,关闭终端窗口或者 CTRL + C 命令也不会终止程序。
当用 nohub命令启动 jar 包的时候,如果不指定日志输出文件,则所有的输出都会被重定向到 nohub.out 的文件中。

方法四:指定日志输出的启动

nohup java -jar xxx.jar >log.out &

缺点:通过 >log.out 命令,将程序的日志输出重定向到 log.out 文件中。如果不指定日志输出文件,则会输出到 nohub 命令默认的输出文件,nohub.out 文件中。

方法五:指定配置文件启动

nohup java -jar xxx.jar --spring.profiles.active=prod > run.log &

缺点:通过 --spring profiles.active=prod 来指定,启动的的是application-prod.yml 或者 application-prod.properties 配置文件,run.log是新建的日志文件,prod是指定配置文件的结尾后缀。

nohup java -jar xxx.jar --spring.profiles.active > run.log &

注意:- -spring profiles.active默认运行application.yml配置文件

方式六:指定配置文件,使用系统默认的log配置,不另行指定日志输入

#启动/opt/a/目录下的 test.jar ,配置文件使用 prod,日志使用配置文件默认配置,不单独指定。

nohup java -jar /opt/a/a.jar --spring.profiles.active=prod >/dev/null 2>&1 &

常见的文件描述符有如下:
0 :stdin(标准输入)
1 :stdout(标准输出)
2 :stderr(标准错误)

2> /dev/null
> 代表重定向操作。将标准错误重定向到/dev/null ,即不输出错误信息。
>/dev/null 2>&1 & : 等同于 1>/dev/null 2>&1 &, 即把标准输出重定向到/dev/null,并且把标准错误2重定向标准输出1,即标准输出和标准错误都输出到 /dev/null。

方式七:指定分配系统资源大小

nohup java -Xms500m -Xmx500m -jar XXX.jar --spring.profiles.active > run.log &