我正在尝试创建一个bash实用程序脚本以检查我的服务器中是否正在运行docker守护进程。除了运行这样的代码之外,还有没有更好的方法来检查docker守护进程是否正在我的服务器中运行?
ps -ef | grep docker root 1250 1 0 13:28 ? 00:00:04 /usr/bin/dockerd --selinux-enabled root 1598 1250 0 13:28 ? 00:00:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --runtime docker-runc root 10997 10916 0 19:47 pts/0 00:00:00 grep --color=auto docker
我想创建一个bash shell脚本,该脚本将检查我的docker守护程序是否正在运行。如果它正在运行,则什么也不做,如果没有,则启动docker守护程序。
我的伪代码是这样的。我正在考虑解析ps -ef的输出,但我只是想知道是否有一种更有效的方式来执行伪代码。
如果(泊坞窗未运行) run docker 结束
如果(泊坞窗未运行)
run docker
结束
PS:我不是Linux专家,我只需要在自己的环境中执行此实用程序即可。
您pgrep几乎在所有Linux系统上都有一个实用程序。
pgrep
您可以这样做:
pgrep -f docker > /dev/null || echo "starting docker"
将echo命令替换为docker startup命令。
echo