网站开发都用什么数据库,下载百度app到桌面,公司网站公司新闻,免费网站的app2019独角兽企业重金招聘Python工程师标准 #!/bin/sh
#该脚本为Linux下启动java程序的通用脚本。即可以作为开机自启动service脚本被调用#xff0c;
#也可以作为启动java程序的独立脚本来使用。
#
#
#警告!!!#xff1a;该脚本stop部分使用系统kill命… 2019独角兽企业重金招聘Python工程师标准 #!/bin/sh
#该脚本为Linux下启动java程序的通用脚本。即可以作为开机自启动service脚本被调用
#也可以作为启动java程序的独立脚本来使用。
#
#
#警告!!!该脚本stop部分使用系统kill命令来强制终止指定的java程序进程。
#在杀死进程前未作任何条件检查。在某些情况下如程序正在进行文件或数据库写操作
#可能会造成数据丢失或数据不完整。如果必须要考虑到这类情况则需要改写此脚本
#增加在执行kill命令前的一系列检查。
#
#
###################################
#环境变量及程序执行参数
#需要根据实际环境以及Java程序名称来修改这些参数
###################################
#JDK所在路径
JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/jre #执行程序启动所使用的系统用户考虑到安全推荐不使用root帐号
RUNNING_USERroot #Java程序所在的目录classes的上一级目录
APP_HOME/opt/mapu/WEB-INF #需要启动的Java主程序main方法类
APP_MAINCLASSorg.mapu.common.AesUtil#拼凑完整的classpath参数包括指定lib目录下所有的jar
CLASSPATH$APP_HOME/classes
for i in $APP_HOME/lib/*.jar; do CLASSPATH$CLASSPATH:$i
done #java虚拟机启动参数
JAVA_OPTS-ms512m -mx512m -Xmn256m -Djava.awt.headlesstrue -XX:MaxPermSize128m ###################################
#(函数)判断程序是否已启动
#
#说明
#使用JDK自带的JPS命令及grep命令组合准确查找pid
#jps 加 l 参数表示显示java的完整包路径
#使用awk分割出pid ($1部分)及Java程序名称($2部分)
###################################
#初始化psid变量全局
psid0 checkpid() { #javaps$JAVA_HOME/bin/jps -l | grep $APP_MAINCLASS #if [ -n $javaps ]; then #psidecho $javaps | awk {print $1} #else #psid0 #fi javapsps -ef|grep APP_MAINCLASS|grep -v grep| awk {print $2}if [ -n $javaps ]; then psidecho $javaps | awk {print $1} else psid0 fi
} ###################################
#(函数)启动程序
#
#说明
#1. 首先调用checkpid函数刷新$psid全局变量
#2. 如果程序已经启动$psid不等于0则提示程序已启动
#3. 如果程序没有被启动则执行启动命令行
#4. 启动命令执行后再次调用checkpid函数
#5. 如果步骤4的结果能够确认程序的pid,则打印[OK]否则打印[Failed]
#注意echo -n 表示打印字符后不换行
#注意: nohup 某命令 /dev/null 21 的用法
###################################
start() { checkpid if [ $psid -ne 0 ]; then echo echo warn: $APP_MAINCLASS already started! (pid$psid) echo else echo -n Starting $APP_MAINCLASS ... #JAVA_CMDnohup $JAVA_HOME/bin/java $JAVA_OPTS -classpath $CLASSPATH $APP_MAINCLASS /dev/null 21 JAVA_CMD$JAVA_HOME/bin/java $JAVA_OPTS -classpath $CLASSPATH $APP_MAINCLASS su - $RUNNING_USER -c $JAVA_CMD checkpid if [ $psid -ne 0 ]; then echo (pid$psid) [OK] else echo [Failed] fi fi
} ###################################
#(函数)停止程序
#
#说明
#1. 首先调用checkpid函数刷新$psid全局变量
#2. 如果程序已经启动$psid不等于0则开始执行停止否则提示程序未运行
#3. 使用kill -9 pid命令进行强制杀死进程
#4. 执行kill命令行紧接其后马上查看上一句命令的返回值: $?
#5. 如果步骤4的结果$?等于0,则打印[OK]否则打印[Failed]
#6. 为了防止java程序被启动多次这里增加反复检查进程反复杀死的处理递归调用stop。
#注意echo -n 表示打印字符后不换行
#注意: 在shell编程中$? 表示上一句命令或者一个函数的返回值
###################################
stop() { checkpid if [ $psid -ne 0 ]; then echo -n Stopping $APP_MAINCLASS ...(pid$psid) su - $RUNNING_USER -c kill -9 $psid if [ $? -eq 0 ]; then echo [OK] else echo [Failed] fi checkpid if [ $psid -ne 0 ]; then stop fi else echo echo warn: $APP_MAINCLASS is not running echo fi
} ###################################
#(函数)检查程序运行状态
#
#说明
#1. 首先调用checkpid函数刷新$psid全局变量
#2. 如果程序已经启动$psid不等于0则提示正在运行并表示出pid
#3. 否则提示程序未运行
###################################
status() { checkpid if [ $psid -ne 0 ]; then echo $APP_MAINCLASS is running! (pid$psid) else echo $APP_MAINCLASS is not running fi
} ###################################
#(函数)打印系统环境参数
###################################
info() { echo System Information: echo **************************** echo head -n 1 /etc/issue echo uname -a echo echo JAVA_HOME$JAVA_HOME echo $JAVA_HOME/bin/java -version echo echo APP_HOME$APP_HOME echo APP_MAINCLASS$APP_MAINCLASS echo ****************************
} ###################################
#读取脚本的第一个参数($1)进行判断
#参数取值范围{start|stop|restart|status|info}
#如参数不在指定范围之内则打印帮助信息
###################################
case $1 in start) start ;; stop) stop ;; restart) stop start ;; status) status ;; info) info ;; *)
echo Usage: $0 {start|stop|restart|status|info}
exit 1
esac
exit 0转载于:https://my.oschina.net/yifanxiang/blog/817873