service now detects systemd is actually running, not just installed
This commit is contained in:
parent
0941c9490c
commit
f49120598f
1 changed files with 18 additions and 2 deletions
|
@ -394,8 +394,24 @@ class LinuxService(Service):
|
|||
location[binary] = self.module.get_bin_path(binary)
|
||||
|
||||
def check_systemd(name):
|
||||
# verify service is managed by systemd
|
||||
if not location.get('systemctl', None):
|
||||
# verify systemd is installed (by finding systemctl)
|
||||
if not location.get('systemctl', False):
|
||||
return False
|
||||
|
||||
systemd_enabled = False
|
||||
# Check if init is the systemd command, using comm as cmdline could be symlink
|
||||
try:
|
||||
f = open('/proc/1/comm', 'r')
|
||||
except IOError, err:
|
||||
# If comm doesn't exist, old kernel, no systemd
|
||||
return False
|
||||
|
||||
for line in f:
|
||||
if 'systemd' in line:
|
||||
systemd_enabled = True
|
||||
break
|
||||
|
||||
if not systemd_enabled:
|
||||
return False
|
||||
|
||||
# default to .service if the unit type is not specified
|
||||
|
|
Loading…
Reference in a new issue