centos7设置java应用自启动

***************************************************************************** 方法一 *****************************************************************************

创建可执行的脚本文件

vi /ghzy/ghzy-hr/ghzy-hr_server_fwzn/start.sh

内容如下:

 1#!/bin/bash
 2export  JAVA_HOME=/usr/local/jdk
 3export  PATH=$PATH:$JAVA_HOME/bin
 4export  CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
 5cd $(dirname $0)
 6pid=$(ps -ef | grep 'ghzy-hr-service-1.0.0.jar' | grep -v grep | awk '{print $2}')
 7if [ -n "$pid" ]; then
 8  echo 'process id is: '$pid
 9  kill -9 $pid
10  sleep 2s
11fi
12nohup java -jar ghzy-hr-service-1.0.0.jar --spring.profiles.active=prod >/dev/null &

赋予脚本执行权限

1chmod +x /ghzy/ghzy-hr/ghzy-hr_server_fwzn/start.sh

编辑/etc/rc.d/rc.local

vi /etc/rc.d/rc.local

在最后追加上面的可执行脚本:

1nohup /ghzy/ghzy-hr/ghzy-hr_server_fwzn/start.sh >/dev/null &

赋予/etc/rc.d/rc.local执行权限

1sudo chmod +x /etc/rc.d/rc.local

完成!!!

***************************************************************************** 方法二 *****************************************************************************

在 /etc/rc.d/init.d 目录下编写脚本 autostart.sh 脚本

vi /etc/rc.d/init.d/autostart.sh

内容如下:

1#!/bin/sh
2#chkconfig: 2345 80 90
3#description: 国航之翼开机自动启动的脚本程序
4
5nohup /usr/local/service/redis-2.8.3/src/redis-server --port 6379 &

脚本第一行 “#!/bin/sh” 告诉系统使用的shell;

脚本第二行 “#chkconfig: 2345 80 90”

2345表示启动等级:

等级0表示:表示关机   

等级1表示:单用户模式   

等级2表示:无网络连接的多用户命令行模式   

等级3表示:有网络连接的多用户命令行模式   

等级4表示:不可用

等级5表示:带图形界面的多用户模式   

等级6表示:重新启动

80 表示启动优先级,90表示停止优先级,优先级范围是0-100,数字越大,优先级越低。

脚本第三行 表示的是服务的描述信息

注意: 最上面三行必需

给脚本赋可执行权限

chmod +x /etc/rc.d/init.d/autostart.sh

添加成系统服务

chkconfig –add autostart.sh

设置为开机启动

chkconfig autostart.sh on