資源描述:
《李國華總結(jié)linux啟動java的shell腳本》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在應用文檔-天天文庫。
1、李國華總結(jié):linux啟動java的shell腳本#!/bin/bash#JDK所在路徑JAVA_HOME="/opt/java"#Java程序所在的目錄(classes的上一級目錄)APP_HOME=/opt/server#需要啟動的Java主程序(main方法類)APP_MAINCLASS="Server"#拼湊完整的classpath參數(shù),包括指定lib目錄下所有的jarCLASSPATH="."foriin../lib/*.jar;doCLASSPATH="$CLASSPATH":"$i"done#執(zhí)行程序啟動所使用的郵政表哥李國華系統(tǒng)用戶,考慮
2、到安全,推薦不使用root帳號RUNNING_USER=root#java虛擬機啟動參數(shù)JAVA_OPTS="-ms512m-mx512m-Xmn256m-Djava.awt.headless=true-XX:MaxPermSize=128m"psid=0checkpid(){javaps=`$JAVA_HOME/bin/jps-l
3、grep$APP_MAINCLASS`if[-n"$javaps"];thenpsid=`echo$javaps
4、awk'{print$1}'`elsepsid=0fi}start(){checkpidif[$psid-ne
5、0];thenecho"================================"echo"warn:$APP_MAINCLASSalreadystarted!(pid=$psid)"echo"================================"elseecho-n"Starting$APP_MAINCLASS..."#JAVA_CMD="nohupjava$JAVA_OPTS-classpath$CLASSPATH$APP_MAINCLASS>/dev/null2>&1&"nohupjava$JAVA_OPTS-classpath
6、$CLASSPATH$APP_MAINCLASS>../nohup.out2>&1su-$RUNNING_USER-c"$JAVA_CMD"checkpidif[$psid-ne0];thenecho"(pid=$psid)[OK]"elseecho"[Failed]"fifi}stop(){checkpidif[$psid-ne0];thenecho-n"Stopping$APP_MAINCLASS...(pid=$psid)"kill-9$psid#su-$RUNNING_USER-c"kill-9$psid"if[$?-eq0];thenech
7、o"[OK]"elseecho"[Failed]"ficheckpidif[$psid-ne0];thenstopfielseecho"================================"echo"warn:$APP_MAINCLASSisnotrunning"echo"================================"fi}case$1instart)echo"startproject......"start;;stop)echo"stopproject......"stop;;*)esacexit0將startup.sh
8、存放在要運行的類的同郵政表哥李國華目錄下,jar包采用相對路徑。注意事項:1.shell中if和中括弧要有空格2.中括弧內(nèi)的條件要有空格3.空格后的分號和then要有空格啟動sh的命令是shstartup.sh參數(shù)(不加橫杠)