Команды systemctl
следуют семантике LSB для кодов выхода.
В частности, 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';
}
PS вам не нужно запускать systemctl
с sudo
. Он должен работать для непривилегированного пользователя.