shell脚本控制jar的启动和停止
呵呵呵,想起了一个以前写的shell脚本,启动和关闭线程(myshell.sh)。
CLASS_PATH=dayemail.jarCLASS_PATH=$CLASS_PATH:lib/activation.jarCLASS_PATH=$CLASS_PATH:lib/classes12.jarCLASS_PATH=$CLASS_PATH:lib/c3p0-0.9.1.2.jarCLASS_PATH=$CLASS_PATH:lib/commons-email-1.2.jarCLASS_PATH=$CLASS_PATH:lib/dom4j-1.6.jarCLASS_PATH=$CLASS_PATH:lib/jaxen-1.1.1.jarCLASS_PATH=$CLASS_PATH:lib/jxl.jarCLASS_PATH=$CLASS_PATH:lib/log4j-1.2.16.jarCLASS_PATH=$CLASS_PATH:lib/mail.jarSERVER=/qzpt/mydayemailcd $SERVER case "$1" in start) nohup java -Dfile.encoding=UTF8 -Xms64M -Xmx256M -cp $CLASS_PATH com.trendsnet.myemail.EmailShell > $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
会自动生成server.pid记录当前线程的PID.
日志文件logger.info形式的日志记录进了Server.log ,当然也可以去掉写入Server.log改用自己的Log4j. 1 楼 康小奔 2012-05-15 shell脚本必须和jar在同一目录下嘛 2 楼 yjandx3543 2012-05-15 $CLASS_PATH:lib/activation.jar 康小奔 写道shell脚本必须和jar在同一目录下嘛
$CLASS_PATH:lib/activation.jar
不一定啊,这个$CLASS_PATH就是用来拼接的嘛....路径还不是自己写的。