Linux start shell

我写了一个java程序,有main方法入口,已经打包一个jar,并已经能在unix下启动运行,但我想写个脚本文件,方便管理人员去启动和关闭我的java进程. 类似于tomcat的startup.sh,shutdown.sh ,但不能具体如何写,我查过资料,大概原理是启动java进程后,获得进程pid,pid保存到一个文件中,关闭时,读取这个文件,获得pid,kill pid. 具体怎样写不知道,请熟悉这方面的帮忙写写,谢谢.





#!/bin/sh

SERVER=/home/java/server
cd $SERVER

case "$1" in

  start)
    nohup java -Xmx128m -jar server.jar > $SERVER/server.log 2>&1 &
    echo $! > $SERVER/server.pid
    ;;

  stop)
    kill `cat $SERVER/server.pid`
    rm -rf $SERVER/server.pid
    ;;

  restart)
    $0 stop
    sleep 1
    $0 start
    ;;

  *)
    echo "Usage: run.sh {start|stop|restart}"
    ;;

esac

exit 0


我的第一个可执行脚本:

CLASS_PATH=myReminder.jar
CLASS_PATH=$CLASS_PATH:lib/classes12.jar
CLASS_PATH=$CLASS_PATH:lib/log4j-1.2.16.jar
CLASS_PATH=$CLASS_PATH:lib/dom4j-1.6.jar
CLASS_PATH=$CLASS_PATH:lib/jaxen-1.1.1.jar
SERVER=/qzpt/mysms   
cd $SERVER   
  
case "$1" in   
  
  start)   
    nohup java -Dfile.encoding=UTF8 -Xms64M -Xmx256M -cp $CLASS_PATH com.trendsnet.myReminder.ReminderShell > $SERVER/server.log 2>&1 &   
    echo $! > $SERVER/server.pid   
    ;;   
  
  stop)   
    kill `cat $SERVER/server.pid`   
    rm -rf $SERVER/server.pid   
    ;;   
  
  restart)   
    $0 stop   
    sleep 1   
    $0 start   
    ;;   
  
  *)   
    echo "Usage: myshell.sh {start|stop|restart}"  
    ;;   
  
esac   
  
exit 0 

你可能感兴趣的:(java,tomcat,log4j,linux,脚本)