bash:检查Wheter docker服务是否已重新启动

时间:2018-10-08 14:46:43

标签: bash

bash中是否有办法检查docker服务是否已重新启动?这是我的伪代码:

FILE=/etc/docker/daemon.json
i=1
retry=3
while [ $i -le $retry ];
 do
  if sudo ls [ -f $FILE ] && "docker not restarted"
  then
  sudo service docker restart
  break
  elif sudo ls [ -f $FILE ] && "docker already restarted"
  break
  else 
  sleep 10s
  i=$((i+1))
  fi
done

我可以代替"docker not restarted""docker already restarted"使用什么?

1 个答案:

答案 0 :(得分:0)

使用pgrep来检测进程是否正在运行的简单代码。

#!/bin/bash
var="docker"
if pgrep "$var" > /dev/null
       then   echo -e "\033[1;32m$var Running\033[0m"
       else   echo -e "\033[1;31m$var Stopped\033[0m"
fi
  • 特殊字符仅用于着色。您不需要使用。