linux系统下实现java包开机自启动

linux系统下实现java包开机自启动,即使java进程被异常关闭,也会自启动。

一、app_start.sh程序启动文件

  • 1.复制以下内容,另存为app_start.sh,将文件上传至linux服务器。
#!/bin/sh

CurPath=$(cd "$(dirname "$0")"; pwd)
cd ${CurPath}


pid=`ps -ef | grep zhyb_monitor | grep -v grep | awk -F ' ' '{print $2}'`
if [ "$pid" != "" ];then
    ps -ef | grep zhyb_monitor | grep -v grep | awk -F ' ' '{print $2}'|xargs kill -9
fi

pid=`ps -ef | grep zhyb.jar | grep -v grep | awk -F ' ' '{print $2}'`
if [ "$pid" != "" ];then
    ps -ef | grep zhyb.jar | grep -v grep | awk -F ' ' '{print $2}'|xargs kill -9
fi

chmod a+x zhyb_monitor.sh

echo week:`date +"%w %Y/%m/%d, %H:%M:%S"` 'start zhyb '
./zhyb_monitor.sh &> /dev/null &
echo week:`date +"%w %Y/%m/%d, %H:%M:%S"` 'start zhyb succeed'
cd -

  • 2.将app_start.sh文件权限设置为可执行权限,将文件添加至/etc/rc.local内容中,实现开机自启动。
    设置可执行权限
chmod +x app_start.sh

/etc/rc.local文件,实现开机自启动

cd /hone/appdir/
(./app_start.sh &)
cd--

二、app_monitor.sh程序自启动文件

  • 防止程序异常停止,自动重启jar包,**需要配合app_start.sh文件使用
#! /bin/sh
#进程名字可修改
source /etc/profile

PRO_NAME=zhyb.jar

mkdir -p nohupLog/`date +%Y-%m`
	 
LOG_PATH=./nohupLog/`date +%Y-%m`/log-`date +%Y-%m-%d`.txt


#定义启动eiota_server程序的函数,&运行在后台
start_server(){
  nohup  java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8175 -jar ./zhyb.jar >>   ${LOG_PATH} 2>&1 & 
}


while true ; do
     #用ps获取$PRO_NAME进程数量
     NUM=`ps aux | grep -w ${PRO_NAME} | grep -v grep |wc -l`
     echo "${PRO_NAME} running num is ${NUM} "
     #echo $NUM
     #少于1,重启进程
     if [ "${NUM}" -lt "1" ];then
         echo "${PRO_NAME} was killed"
     start_server
    #大于1,杀掉所有进程,重启
    elif [ "${NUM}" -gt "1" ];then
        echo "more than 1 ${PRO_NAME},killall ${PRO_NAME}"
		ps -ef | grep ${PRO_NAME} | grep -v grep | awk -F ' ' '{print $2}'|xargs kill -9
      start_server
     fi
     #kill僵尸进程
     NUM_STAT=`ps aux | grep -w ${PRO_NAME} | grep T | grep -v grep | wc -l`
     if [ "${NUM_STAT}" -gt "0" ];then
         ps -ef | grep ${PRO_NAME} | grep -v grep | awk -F ' ' '{print $2}'|xargs kill -9
        start_server
    fi
     sleep 5s
done
 
exit 0
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!要在Linux上设置Tomcat开机自启,您可以按照以下步骤进行操作: 1. 打开终端,使用root或具有管理员权限的用户登录到Linux系统。 2. 导航到Tomcat的bin目录,例如:`cd /opt/tomcat/bin`。 3. 运行以下命令,创建一个启动脚本文件(比如`tomcat.sh`): ``` sudo nano /etc/init.d/tomcat.sh ``` 4. 在打开的文件中,输入以下内容: ```bash #!/bin/bash # description: Tomcat Start Stop Restart # processname: tomcat # chkconfig: 234 20 80 TOMCAT_HOME=/opt/tomcat export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 case $1 in start) sh $TOMCAT_HOME/bin/startup.sh ;; stop) sh $TOMCAT_HOME/bin/shutdown.sh ;; restart) sh $TOMCAT_HOME/bin/shutdown.sh sh $TOMCAT_HOME/bin/startup.sh ;; esac exit 0 ``` 注意:请确保`TOMCAT_HOME`和`JAVA_HOME`变量的路径正确。如果您的Tomcat安装路径或Java安装路径不同,请相应修改。 5. 保存和关闭文件。使用以下命令给脚本文件添加执行权限: ``` sudo chmod +x /etc/init.d/tomcat.sh ``` 6. 使用以下命令将Tomcat服务添加到系统启动项中: ``` sudo update-rc.d tomcat.sh defaults ``` 7. 现在,您可以使用以下命令来启动、停止或重新启动Tomcat服务: ``` sudo service tomcat.sh start sudo service tomcat.sh stop sudo service tomcat.sh restart ``` 这样,您的Tomcat就会在Linux系统启动时自动启动了。请注意,根据您的Linux发行版版本和配置可能会有所不同,上述步骤适用于通用的情况,但某些特殊情况可能需要进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值