#!/bin/bash original_command="$0" application_name="/home/ubuntu/app/leopard-server-1.0.0.jar" function get_pid() { echo $(ps ef | grep "$application_name" | grep -v grep | awk '{ print $1 }') } pid=$(get_pid) if [[ -z "$pid" ]]; then echo "Application is already stopped." exit 0 fi echo "Stopping $pid..." kill $pid LOOPS=0 while (true); do cpid=$(get_pid) if [[ -z "$cpid" ]]; then echo "Oook! cost:$LOOPS" break fi LOOPS=$(($LOOPS+1)) if [[ $(($LOOPS%15)) -eq 0 ]]; then echo "Wait timeout, try to force kill $pid..." kill -9 $pid fi sleep 1s done