* @license MIT License (http://www.opensource.org/licenses/mit) */ class Systemctl { /** * @var string Name of the service to manage */ private $service_name = ""; /** * Constructor * * @param string $service_name Name of the service to manage */ public function __construct(string $service_name) { $this->service_name = $service_name; } /** * Start the Service * * @return bool True if the service was started successfully, false otherwise */ public function start () : bool { exec("systemctl start ".$this->service_name." > /dev/null", $output, $return); return ( $return === 0 ); } /** * Stop the Service * * @return bool True if the service was stopped successfully */ public function stop () : bool { exec("systemctl stop ".$this->service_name." > /dev/null", $output, $return); return ( $return === 0 ); } /** * Restart the Service * * @return bool True if the service was restarted successfully, false otherwise */ public function restart () : bool { exec("systemctl restart ".$this->service_name." > /dev/null", $output, $return); return ( $return === 0 ); } /** * Check if the Service is running * * @return bool True if the service is running, false otherwise */ public function isRunning () : bool { exec("systemctl status ".$this->service_name, $output, $return); $search_string = implode(";", $output); return ( strpos($search_string, "Active: active (running)") >= 0 ); } }