1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

service now detects systemd is actually running, not just installed

This commit is contained in:
Brian Coca 2014-11-17 15:03:49 -05:00 committed by Matt Clay
parent a71ce0615a
commit 78fb3217d6

View file

@ -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