我正在尝试创建一个 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
结尾
PS 我不是 linux 专家,我只需要在自己的环境中执行此实用程序。
原文由 Mark Estrada 发布,翻译遵循 CC BY-SA 4.0 许可协议
在几乎所有的 Linux 系统上,您都有一个名为
pgrep
的实用程序。你可以这样做:
将
echo
命令替换为您的 docker 启动命令。