在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