我的问题:
我正在编写一个 bash 脚本,我想在其中检查给定的服务是否正在运行。
我知道如何手动执行此操作,使用$ service [service_name] status.
但是(尤其是在转向 systemd 之后)会打印一大堆文本,解析起来有点麻烦。我假设有一个为脚本制作的命令,带有简单的输出或我可以检查的返回值。
但是谷歌搜索只会产生大量“哦,只是ps aux | grep -v grep | grep [service_name]”的结果。这不可能是最佳做法,是吗?如果该命令的另一个实例正在运行,但不是由 SysV init 脚本启动的呢?
还是我应该闭嘴,用一点 pgrep 弄脏我的手?