From 33bcd0069e1c051def4253bd310eac619405b929 Mon Sep 17 00:00:00 2001
From: Falko Timme <ft@falkotimme.com>
Date: Mon, 21 Oct 2013 05:41:19 -0400
Subject: [PATCH] - Added support for systemd and upstart (besides sysvinit).
---
server/lib/classes/system.inc.php | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php
index 57b1e1f..a1e7c00 100644
--- a/server/lib/classes/system.inc.php
+++ b/server/lib/classes/system.inc.php
@@ -1597,6 +1597,23 @@
exec($cmd, $output, $return_var);
return $return_var == 0 ? true : false;
}
+
+ function getinitcommand($servicename, $action, $init_script_directory = ''){
+ global $conf;
+ // systemd
+ if(is_executable('/bin/systemd')){
+ return 'systemctl '.$action.' '.$servicename.'.service';
+ }
+ // upstart
+ if(is_executable('/sbin/initctl')){
+ exec('/sbin/initctl version 2>/dev/null | /bin/grep -q upstart', $retval['output'], $retval['retval']);
+ if(intval($retval['retval']) == 0) return 'service '.$servicename.' '.$action;
+ }
+ // sysvinit
+ if($init_script_directory == '') $init_script_directory = $conf['init_scripts'];
+ if(substr($init_script_directory, -1) === '/') $init_script_directory = substr($init_script_directory, 0, -1);
+ return $init_script_directory.'/'.$servicename.' '.$action;
+ }
}
?>
--
Gitblit v1.9.1