- 创建shell启动脚本(以下操作都是在存放jar包同级目录操作)
编辑run.sh(以下脚本)脚本把第三行xxx.jar替换为jar包名称
创新互联公司成立于2013年,是专业互联网技术服务公司,拥有项目做网站、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元兰州做网站,已为上家服务,为兰州各地企业和个人服务,联系电话:18980820575只输出错误信息到日志文件:
nohup ./program >/dev/null 2>log &
什么信息也不要:
nohup ./program >/dev/null 2>&1 &
#!/bin/bash
#这里可替换为你自己的执行程序,其他代码无需更改
APP_NAME=你的jar名称.jar
#使用说明,用来提示输入参数
usage() {
echo "-------------------------------------"
echo ""
echo "项目名称: ${APP_NAME}"
echo ""
echo "你可以使用如下参数进行操作"
echo "start -启动当前项目"
echo "stop -停止当前项目"
echo "restart -重启当前项目"
echo ""
echo "-------------------------------------"
exit 1
}
#检查程序是否在运行
is_exist() {
pid=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}' `
#如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
#启动方法
start() {
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} 项目运行中或端口已被占用 进程id=${pid}"
else
nohup java -jar $APP_NAME -Xms1024m -Xmx1536m -XX:PermSize=1024M -XX:MaxPermSize=2048M >logs.log 2>&1 &
echo "${APP_NAME} 项目启动成功"
fi
}
#停止方法
stop() {
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
echo "已杀死端口为 ${pid} 的应用"
else
echo "${APP_NAME} 项目没有运行,请先启动"
fi
}
#输出运行状态
status() {
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} 项目正在运行中 进程id=${pid}"
else
echo "${APP_NAME} 项目没有启动"
fi
}
#重启
restart() {
stop
start
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
#启动命令
./run.sh start
#停止命令
./ run.sh stop
#重启命令
./ run.sh restart
2.查找JDK路径
echo $JAVA_HOME
3.创建自启脚本server.sh
Jar包同级目录输入shell命令
vi server.sh
#!/bin/bash
#chkconfig: 2345 81 96
#description: Starttomcat
export JAVA_HOME=VALUE1
export PATH=$JAVA_HOME/bin:$PATH
cd VALUE2
nohup java -jar VALUE3 >>VALUE4/xxx.log 2>&1 &
解析:
VALUE1:替换为第二步查找的JDK路径
VALUE2: jar包所在的路径 例如: /home/jw
VALUE3:jar包名称 例如:demo.jar
VALUE4:jar包生成的日志目录 例如: /home/jw
4.设置权限
chmod u+x *.sh
5.设置开机自启
mv server.sh /etc/init.d/
# 注册系统服务
chkconfig --add server.sh
# 删除系统服务
chkconfig --del server.sh
# 设置开机启动
chkconfig server.sh on
# 查看系统服务列表
chkconfig –list
# 查看jar包是否启动成功
ps -ef | grep jar
如果启动出现未找到命令解决方案如下
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
当前标题:Linux设置Jar开机自启-创新互联
文章网址:http://scgulin.cn/article/heecj.html