前台启动
java -jar XXX.jar
后台启动
java -jar xxx.jar &
区别:前台启动ctrl+c就会关闭程序,后台启动ctrl+c不会关闭程序
制定控制台的标准输出
java -jar xxx.jar > catalina.out 2>&1 &
catalina.out将标准输出指向制定文件catalina.out
2>&1 输出所有的日志文件
& 后台启动
脚本启动
复制代码
#!/bin/sh
#功能简介:启动上层目录下的jar文件
#参数简介:
$1:jar文件名(包含后缀名)
注意:jar文件必须位于startup.sh目录的上一层目录。
#启动参数
JAVA_OPTS="-server -Xms400m -Xmx400m -Xmn300m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xverify:none -XX:+DisableExplicitGC -Djava.awt.headless=true"
jar_name=
1
t
h
i
s
d
i
r
=
"
1 this_dir="
1thisdir="( cd “$( dirname “KaTeX parse error: Expected 'EOF', got '&' at position 8: 0" )" &̲& pwd )" parent…{this_dir}”`
log_dir=”
p
a
r
e
n
t
d
i
r
/
l
o
g
s
"
l
o
g
f
i
l
e
=
"
{parent_dir}/logs" log_file="
parentdir/logs"logfile="{log_dir}/catalina.out"
jar_file="
p
a
r
e
n
t
d
i
r
/
u
s
e
r
a
p
p
s
/
{parent_dir}/userapps/
parentdir/userapps/{jar_name}"
#参数个数<1或者参数空值时,中断执行
if [ $# -lt 1 ] || [ -z $1 ]; then
echo -e “\033[31m请输入要部署的jar包名称!\033[0m”
exit 1
fi
#日志文件夹不存在,则创建
if [ ! -d “
l
o
g
d
i
r
"
]
;
t
h
e
n
m
k
d
i
r
"
{log_dir}" ]; then mkdir "
logdir"];thenmkdir"{log_dir}”
fi
#父目录下jar文件存在
if [ -f “${jar_file}” ]; then
#启动jar包;重定向标准错误输出到文件,丢掉标准输出
java $JAVA_OPTS -jar
j
a
r
f
i
l
e
1
>
/
d
e
v
/
n
u
l
l
2
>
"
{jar_file} 1>/dev/null 2>"
jarfile1>/dev/null2>"{log_file}" &
exit 0
else
echo -e “\033[31m${jar_file}文件不存在!\033[0m”
exit 1
fi
复制代码
启动方式
./startup.sh xxx.jar
说明