![](https://i-blog.csdnimg.cn/blog_migrate/f9f35e82aec3b3523e5a3dc246f89e69.png)
![](https://i-blog.csdnimg.cn/blog_migrate/61b64c52d0e13a298b3c5833ba2b3402.png)
java -jar xxx.jar &
区别:前台启动ctrl+c就会关闭程序,后台启动ctrl+c不会关闭程序
![](https://i-blog.csdnimg.cn/blog_migrate/8e0ff605feb3de4a15e7a5c37402e689.png)
java -jar xxx.jar > catalina.out 2>&1 &
catalina.out将标准输出指向制定文件catalina.out
2>&1 输出所有的日志文件
& 后台启动
![](https://i-blog.csdnimg.cn/blog_migrate/f95b331030d6a2dd7e948db14269087a.png)
#!/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 this_dir="$( cd "$( dirname "$0" )" && pwd )" parent_dir=`dirname "${this_dir}"` log_dir="${parent_dir}/logs" log_file="${log_dir}/catalina.out" jar_file="${parent_dir}/userapps/${jar_name}" #参数个数<1或者参数空值时,中断执行 if [ $# -lt 1 ] || [ -z $1 ]; then echo -e "\033[31m请输入要部署的jar包名称!\033[0m" exit 1 fi #日志文件夹不存在,则创建 if [ ! -d "${log_dir}" ]; then mkdir "${log_dir}" fi #父目录下jar文件存在 if [ -f "${jar_file}" ]; then #启动jar包;重定向标准错误输出到文件,丢掉标准输出 java $JAVA_OPTS -jar ${jar_file} 1>/dev/null2>"${log_file}" & exit 0else echo -e "\033[31m${jar_file}文件不存在!\033[0m" exit 1 fi |
启动方式:
./startup.sh xxx.jar
![](https://i-blog.csdnimg.cn/blog_migrate/5d19ac80c6f61dc2890707ba4aadd260.png)