APP_NAME=$1 #获取脚本执行后的第一个参数 COMMAND=$2 #获取第二个参数 #检查程序是否在运行 is_exist(){ #定义函数 pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` #如果不存在返回0,存在返回1 if [ -z "${pid}" ]; then return 0 else return 1 fi } #启动方法 java_start(){ is_exist if [ $? -eq "1" ]; then echo "${APP_NAM} is already running. pid=${pid} ." else nohup java -jar ${APP_NAME} & echo "${APP_NAME} start success ." fi } #停止方法 java_stop(){ is_exist if [ $? -eq "1" ]; then kill -9 ${pid} echo "${APP_NAME} stop success ." else echo "${APP_NAME} is not running ." fi } #重启 java_restart(){ java_stop java_start } #查询状态 java_status(){ is_exist if [ $? -eq "1" ]; then echo "${APP_NAME} is running ." else echo "${APP_NAME} is not running ." fi } #使用o "参数start"明,用来提示输入参数 usage() { echo "指令格式:./jar.sh [APP_NAME] [java_start|java_stop|java_restart|java_status]" exit 1 } #根据输入参数,选择执行对应方法,不输入则执行使用说明 case "${COMMAND}" in "java_start") java_start ;; "java_stop") java_stop ;; "java_status") java_status ;; "java_restart") java_restart ;; *) usage ;; esac