]> git.proxmox.com Git - mirror_ifupdown2.git/blob - ifupdown2/ifupdownaddons/systemutils.py
Merge pull request #116 from rajendra-dendukuri/dhcp6_duid
[mirror_ifupdown2.git] / ifupdown2 / ifupdownaddons / systemutils.py
1 #!/usr/bin/python
2 #
3 # Copyright 2015-2017 Cumulus Networks, Inc. All rights reserved.
4 # Author: Roopa Prabhu, roopa@cumulusnetworks.com
5 #
6
7 import os
8
9 try:
10 from ifupdown2.ifupdown.utils import utils
11 from ifupdown2.ifupdownaddons.utilsbase import *
12 except ImportError:
13 from ifupdown.utils import utils
14 from ifupdownaddons.utilsbase import *
15
16
17 class systemUtils():
18 @classmethod
19 def is_service_running(cls, procname=None, pidfile=None):
20 utilsobj = utilsBase()
21 if pidfile:
22 if os.path.exists(pidfile):
23 pid = utilsobj.read_file_oneline(pidfile)
24 if not os.path.exists('/proc/%s' %pid):
25 return False
26 else:
27 return False
28 return True
29
30 if procname:
31 try:
32 utils.exec_command('%s %s' %
33 (utils.pidof_cmd, procname))
34 except:
35 return False
36 else:
37 return True
38
39 return False
40
41 @classmethod
42 def check_service_status(cls, servicename=None):
43 if not servicename:
44 return False
45 try:
46 utils.exec_commandl([utils.service_cmd,
47 servicename, 'status'])
48 except Exception:
49 # XXX: check for subprocess errors vs os error
50 return False
51 return True
52
53 @classmethod
54 def is_process_running(self, processname):
55 if not processname:
56 return False
57 try:
58 utils.exec_command('%s %s' %
59 (utils.pidof_cmd, processname))
60 except:
61 return False
62 else:
63 return True