#!/bin/sh APP_HOME=$(cd $(dirname $0)/..; pwd) echo "APP_HOME : $APP_HOME" cd $APP_HOME PID_FILE="$APP_HOME/logs/app.pid" echo "PID_FILE : $PID_FILE" if [ -e $PID_FILE ]; then count=0 pid=`cat $PID_FILE` echo "prepare kill pid $pid" kill -15 $pid count=`ps -ef | grep $pid | grep -v "grep" | wc -l` echo "count=$count" i=1 for(( i=1;i<100;i++)) do count=`ps -ef | grep $pid | grep -v "grep" | wc -l` if [ $count -gt 0 ]; then echo sleep $i second sleep 1 else #若进程已经关闭,则跳出循环 echo "break" rm $PID_FILE break fi done else echo "$PID_FILE not exist" fi