1.直接用命令启动jar包
-
java -jar XXX.jar 当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
-
java -jar XXX.jar & 当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行
-
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命令重启就可以了