Centos7 开机自启动shell脚本文件

1.直接用命令启动jar包

  1. java -jar XXX.jar 当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出

  2. java -jar XXX.jar & 当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行

  3. nohup java -jar 123.jar & nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行,当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件(如:nohup java -jar 123.jar >123.log 2>&1 &

2.写shell脚本启动单个或者多个jar包

写个shell脚本 abc.sh,如下:

#!/bin/sh
#chkconfig:2345 85 15
#description:auto_run
#程序名
RUN_NAME="service1.jar"
#jar 位置 必须写绝对路径
JAVA_OPTS1=/var/java/service1.jar
LOG_OPTS1=/var/java/service1.log

JAVA_OPTS2=/var/java/service2.jar
LOG_OPTS2=/var/java/service2.log

#开始方法
start() {
        nohup java -jar $JAVA_OPTS1 >$LOG_OPTS1 2>&1 &
		nohup java -jar $JAVA_OPTS2 >$LOG_OPTS2 2>&1 &
        echo "$RUN_NAME started success."
}
 
#结束方法
stop() {
        echo "stopping $RUN_NAME ..."
        kill -9 `ps -ef|grep $JAVA_OPTS1|grep -v grep|grep -v stop|awk '{print $2}'`
		kill -9 `ps -ef|grep $JAVA_OPTS2|grep -v grep|grep -v stop|awk '{print $2}'`
}
 
case "$1" in
        start)
            start
            ;;
        stop)
            stop
            ;;
        restart)
            stop
            start
            ;;
        *)
                echo "Userage: $0 {start|stop|restart}"
                exit 1
esac

1.启动jar包程序:./abc.sh start

终止jar包程序:./abc.sh stop

2.查看jar是否运行 :ps -ef|grep java

3.如果提示没有权限:加权操作 chmod u+x /var/java/abc.sh (u:表示任何用户 x:执行权限)

3.设置shell脚本开机自启动

1、将脚本移动到/etc/rc.d/init.d目录下

mv /var/java/abc.sh /etc/rc.d/init.d

2、增加脚本的可执行权限

chmod u+x /var/java/abc.sh

3、添加脚本到开机自动启动项目中

cd /etc/rc.d/init.d
chkconfig --add abc.sh

chkconfig --list abc.sh #检查 abc服务是否已经生效

最后reboot命令重启就可以了

你可能感兴趣的:(linux)