我想为我的脚本提供一个nginx-status-bool,以检查其运行情况(true)或不是(false)。如果我使用“ sudo服务nginx状态”,我将获得全部信息,但我想一种只返回true / false的方法。
答案 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
。它应适用于非特权用户。