Linux运行java程序,程序守护

每分钟执行一次

*/1  *     *     *      *  /opt/bin/spider_start.sh > /dev/null

执行脚本:

判断:

  • 如果已经有名为“perass-spider”的程序在运行,则不执行
  • 如果没有正在运行的程序,则在“/opt/deploy”目录下找到最新修改的jar包,运行
#!/bin/bash
source /etc/profile
PIDS=`ps -ef | grep perass-spider | grep -v grep | awk '{print $2}'`
if [ "$PIDS" != "" ]; then
    echo "has started"	
else
    cd /opt/deploy
    ps -ef | grep chrome | grep -v grep | awk '{print $2}' | xargs kill -9
    jarfile=$(ls -th perass-spider-*.jar | head -1)
    nohup java -Xms1024m -Xmx2048m -jar -server $jarfile --spring.profiles.active=prod --spiderclientid=1  >logs/perass-spider.log 2>&1 &
fi