mirror of
https://github.com/valitydev/salt.git
synced 2024-11-09 01:36:48 +00:00
49 lines
1.5 KiB
Diff
49 lines
1.5 KiB
Diff
From d21f01128f378cd9bbcf59e7436114594ddf08e4 Mon Sep 17 00:00:00 2001
|
|
From: "Jeffrey C. Ollie" <jeff@ocjtech.us>
|
|
Date: Tue, 23 Oct 2012 09:20:38 -0500
|
|
Subject: [PATCH] Fix systemd service status.
|
|
|
|
Under systemd, not every service has a "Main PID" so using that to
|
|
determine whether a service was running failed for a number of useful
|
|
cases, especially services that use systemd's init script
|
|
compatibility layer.
|
|
|
|
Instead, use the 'systemctl is-active' command to determine the status
|
|
of a service.
|
|
---
|
|
salt/modules/systemd.py | 13 ++++---------
|
|
1 file changed, 4 insertions(+), 9 deletions(-)
|
|
|
|
diff --git a/salt/modules/systemd.py b/salt/modules/systemd.py
|
|
index 2e37718..185b1d5 100644
|
|
--- a/salt/modules/systemd.py
|
|
+++ b/salt/modules/systemd.py
|
|
@@ -166,20 +166,15 @@ def reload(name):
|
|
# system
|
|
def status(name, sig=None):
|
|
'''
|
|
- Return the status for a service via systemd, returns the PID if the service
|
|
- is running or an empty string if the service is not running
|
|
+ Return the status for a service via systemd, returns a bool
|
|
+ whether the service is running.
|
|
|
|
CLI Example::
|
|
|
|
salt '*' service.status <service name>
|
|
'''
|
|
- ret = __salt__['cmd.run'](_systemctl_cmd('show', name))
|
|
- index1 = ret.find('\nMainPID=')
|
|
- index2 = ret.find('\n', index1+9)
|
|
- mainpid = ret[index1+9:index2]
|
|
- if mainpid == '0':
|
|
- return ''
|
|
- return mainpid
|
|
+ cmd = 'systemctl is-active {0}'.format(name)
|
|
+ return not __salt__['cmd.retcode'](cmd)
|
|
|
|
|
|
def enable(name):
|
|
--
|
|
1.7.11.7
|
|
|