一、启动spring boot项目的三种方式
方式一、运行主方法
方式二、在命令行使用mvn spring-boot:run命令
方式三、java -jar 命令
注意:java -jar 命令在退出命令行以后,程序也会退出。
nohup java -jar xxx.jar &
nohup 命令
用途:不挂断地运行命令。
语法:nohup Command [ Arg … ][ & ]
描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 &到命令的尾部。
nohup会把日志输出到当前文件夹下的nohup.out中。
手动指定日志文件输出地点
nohup java -jar xxx.jar > catalina.out 2>&1 &
若不需要日志输出
nohup java -jar xxx.jar > /dev/null &
启动脚本
#!/bin/bash
nohup java -jar -Xms1024m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./ -XX:+UseStringDeduplication -XX:+UseStringCache xxx.jar --spring.config.location=conf/application.yml> catalina.out 2>&1 &
参数说明:
(1)-XX:+HeapDumpOnOutOfMemoryError参数表示当JVM发生OOM时,自动生成DUMP文件。
(2)-XX:HeapDumpPath=${目录}参数表示生成DUMP文件的路径,也可以指定文件名称,例如:-XX:HeapDumpPath=${目录}/java_heapdump.hprof。如果不指定文件名,默认为:java_pid[pid].hprof,默认在启动用户根目录。
停止脚本
#!/bin/bash
PID=$(ps -ef | grep xxx.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo kill $PID
kill $PID
fi