1. 程式人生 > >shell監控服務程序是否啟動

shell監控服務程序是否啟動

#!/bin/bash/ i=3 servicePids=$(docker ps -a|awk '{print $12}'|grep -v 'ago') rows=$(awk 'END{print NR}' docker-compose.yml) rows=$((rows)) echo "rows:"$rows while [ "$i" -le "$rows" ] do    echo  "rows:"$rows    j=$((i+3))    newName=“”    serviceName=$(awk  -F ':' 'NR=='"$i"' {print $1}' docker-compose.yml)    portNum=$(awk  -F ':|"' 'NR=='"$j"' {print $2}' docker-compose.yml)    echo "portNum:"$portNum    if [ "$serviceName"  != "" ]    then

        lastchar=${serviceName:(-1)}

        if [ -z "$(echo $lastchar|sed 's#[0-9]##g')" ]                 then                 newName=${serviceName%?}$portNum         elif [ "$lastchar" != "" ]                 then                 newName=${serviceName}$portNum         fi          k=0         for pid in ${servicePids[@])}         do                 id=${pid:(-4)}                 if [ "$id" == "$portNum" ]                 then                                                  k=1

                fi         done         if [ "$k" == 0 -a  "$portNum" != "" ]         then           echo $serviceName         docker-compose -f docker-compose.yml restart $serviceName         fi    fi     i=$((i+17)) done