如何使用shell脚本判断某个服务是否正在运行?

126 阅读1分钟

在Linux中,可以使用Shell脚本通过以下方法来判断某个服务是否正在运行:

使用服务管理命令

使用 systemd 的发行版

   #!/bin/bash
   if systemctl is-active --quiet <service_name>.service; then
       echo "Service is running"
   else
       echo "Service is not running"
   fi

SysV 的发行版

   #!/bin/bash
   if service <service_name> status | grep -q "Active: active (running)"; then
       echo "Service is running"
   else
       echo "Service is not running"
   fi

使用 ps

   #!/bin/bash
   if ps aux | grep -v grep | grep <service_name> > /dev/null; then
       echo "Service is running"
   else
       echo "Service is not running"
   fi

使用 pgrep

   #!/bin/bash
   if pgrep <service_name> >/dev/null; then
       echo "Service is running"
   else
       echo "Service is not running"
   fi