获取nginx运行状态为bool

时间:2020-07-12 12:32:19

标签: linux nginx

我想为我的脚本提供一个nginx-status-bool,以检查其运行情况(true)或不是(false)。如果我使用“ sudo服务nginx状态”,我将获得全部信息,但我想一种只返回true / false的方法。

  • Ubuntu
  • 用在PHP脚本中(不重要)

1 个答案:

答案 0 :(得分:1)

systemctl命令跟随LSB semantics输入退出代码。

具体来说,如果程序未运行,systemctl status nginx将退出,代码为3,如果程序正在运行,则退出0

启动程序并获取其退出代码应该很简单:

<?php

exec('systemctl status nginx', $out, $exit_code);
if (0 == $exit_code) {
    echo 'NGINX is running';
} elseif (3 == $exit_code) {
    echo 'NGINX is stopped';
}

P.S。您无需在systemctl上运行sudo。它应适用于非特权用户。