问题描述
在 Shell Script 中,我们需要判断服务的运行状态,以作出相应的逻辑处理。
该笔记将记录:如何获取 systemd 管理的某个服务的运行状态。
解决方法
我们以 nginx 服务为例,判断服务的运行状态
# systemctl show nginx.service --property ActiveState ActiveState=inactive # systemctl start nginx.service # systemctl show nginx.service --property ActiveState ActiveState=active
如果希望在 Shell Script 中使用:
eval $(systemctl show nginx.service --property ActiveState)
if [ "$ActiveState" = "active" ]; then
echo "Nginx is running."
else
echo "Nginx is stopped."
fi
参考文献
K4NZ/从 systemctl status 中提取个别字段
python - how to get individual values from the output of systemctl status - Stack Overflow
shell - Run a string as a command within a Bash script - Stack Overflow
本文档指导如何在ShellScript中使用systemctl获取并判断Nginx服务的运行状态,通过`ActiveState`属性实现条件控制。实例演示了如何在脚本中检查并输出服务运行状态信息。
99

被折叠的 条评论
为什么被折叠?



