diff options
author | Timo Boettcher <spida@pfsense.org> | 2007-06-21 13:01:01 +0000 |
---|---|---|
committer | Timo Boettcher <spida@pfsense.org> | 2007-06-21 13:01:01 +0000 |
commit | cd72ded3864c0d72c45f6512d0352f26dd3843bc (patch) | |
tree | 59c54704b7f90f2c72706a3e4d3091e75240fdcd /etc | |
parent | 9feb1986efe16befd8f57675ac055fb59606c509 (diff) | |
download | pfsense-cd72ded3864c0d72c45f6512d0352f26dd3843bc.zip pfsense-cd72ded3864c0d72c45f6512d0352f26dd3843bc.tar.gz |
Make OpenVPN usable in status_service.php
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/service-utils.inc | 95 |
1 files changed, 52 insertions, 43 deletions
diff --git a/etc/inc/service-utils.inc b/etc/inc/service-utils.inc index 01d2714..3780e64 100644 --- a/etc/inc/service-utils.inc +++ b/etc/inc/service-utils.inc @@ -94,47 +94,47 @@ function start_service($name) { } function stop_service($name) { - global $config; - if($config['installedpackages']['service']) { - foreach($config['installedpackages']['service'] as $service) { - if(strtolower($service['name']) == strtolower($name)) { - if($service['rcfile']) { - if($service['prefix']) { - $prefix =& $service['prefix']; - } else { - $prefix = "/usr/local/etc/rc.d/"; - } - mwexec_bg($prefix . $service['rcfile'] . " stop"); - } - if($service['stopcmd']) { - eval($service['stopcmd']); - } - if(!($service['rcfile'] or $service['stopcmd'])) { - mwexec_bg("/usr/bin/killall {$service['executable']}"); - return; - } - break; - } - } - } - /* finally if we get here lets simply kill the service name */ - mwexec_bg("/usr/bin/killall {$name}"); + global $config; + if($config['installedpackages']['service']) { + foreach($config['installedpackages']['service'] as $service) { + if(strtolower($service['name']) == strtolower($name)) { + if($service['rcfile']) { + if($service['prefix']) { + $prefix =& $service['prefix']; + } else { + $prefix = "/usr/local/etc/rc.d/"; + } + mwexec_bg($prefix . $service['rcfile'] . " stop"); + } + if($service['stopcmd']) { + eval($service['stopcmd']); + } + if(!($service['rcfile'] or $service['stopcmd'])) { + mwexec_bg("/usr/bin/killall {$service['executable']}"); + return; + } + break; + } + } + } + /* finally if we get here lets simply kill the service name */ + mwexec_bg("/usr/bin/killall {$name}"); } function restart_service($name) { - global $config; + global $config; stop_service($name); start_service($name); - if($config['installedpackages']['service']) { - foreach($config['installedpackages']['service'] as $service) { - if(strtolower($service['name']) == strtolower($name)) { - if($service['restartcmd']) { - eval($service['restartcmd']); - } - break; - } - } - } + if($config['installedpackages']['service']) { + foreach($config['installedpackages']['service'] as $service) { + if(strtolower($service['name']) == strtolower($name)) { + if($service['restartcmd']) { + eval($service['restartcmd']); + } + break; + } + } + } } function is_process_running($process) { @@ -142,6 +142,12 @@ function is_process_running($process) { return $running; } +function is_pid_running($pidfile) { + $pid = trim(file_get_contents($pidfile)); + $running = (trim(shell_exec("ps axwu | grep '\b{$pid}\b' | grep -v 'grep'")) != ''); + return $running; +} + function is_dhcp_running($interface) { $interface = convert_friendly_interface_to_real_interface_name($interface); $status = find_dhclient_process($interface); @@ -165,8 +171,8 @@ function is_service_running($service, $ps = "") { } */ if(is_array($config['installedpackages']['service'])) { - foreach($config['installedpackages']['service'] as $aservice) { - if(strtolower($service) == strtolower($aservice['name'])) { + foreach($config['installedpackages']['service'] as $aservice) { + if(strtolower($service) == strtolower($aservice['name'])) { if(!$aservice['executable']) return false; /* if(count(preg_grep("/{$aservice['executable']}/i", $ps))) { @@ -175,10 +181,13 @@ function is_service_running($service, $ps = "") { return false; } */ - return is_process_running($aservice['executable']) ? true : false; - } - } - } + if ($service == "openvpn") { + } else { + return is_process_running($aservice['executable']) ? true : false; + } + } + } + } } -?>
\ No newline at end of file +?> |