2015-09-10 13:57:14 -07:00
|
|
|
#!/usr/bin/python
|
|
|
|
#
|
|
|
|
# Copyright 2015 Cumulus Networks, Inc. All rights reserved.
|
|
|
|
# Author: Roopa Prabhu, roopa@cumulusnetworks.com
|
|
|
|
#
|
|
|
|
|
|
|
|
import os
|
|
|
|
from utilsbase import *
|
2016-05-13 19:52:57 +02:00
|
|
|
from ifupdown.utils import utils
|
2015-09-10 13:57:14 -07:00
|
|
|
|
|
|
|
class systemUtils():
|
|
|
|
@classmethod
|
|
|
|
def is_service_running(cls, procname=None, pidfile=None):
|
|
|
|
utilsobj = utilsBase()
|
|
|
|
if pidfile:
|
|
|
|
if os.path.exists(pidfile):
|
|
|
|
pid = utilsobj.read_file_oneline(pidfile)
|
|
|
|
if not os.path.exists('/proc/%s' %pid):
|
|
|
|
return False
|
|
|
|
else:
|
|
|
|
return False
|
|
|
|
return True
|
|
|
|
|
|
|
|
if procname:
|
|
|
|
try:
|
2016-05-13 19:52:57 +02:00
|
|
|
utils.exec_command('/bin/pidof %s' % procname, stdout=False)
|
2015-09-10 13:57:14 -07:00
|
|
|
except:
|
|
|
|
return False
|
|
|
|
else:
|
|
|
|
return True
|
|
|
|
|
|
|
|
return False
|
2015-11-25 14:12:14 -08:00
|
|
|
|
|
|
|
@classmethod
|
|
|
|
def check_service_status(cls, servicename=None):
|
|
|
|
if not servicename:
|
|
|
|
return False
|
|
|
|
try:
|
2016-05-13 19:52:57 +02:00
|
|
|
utils.exec_commandl(['/usr/sbin/service', servicename, 'status'],
|
|
|
|
stdout=False)
|
2015-11-25 14:12:14 -08:00
|
|
|
except Exception:
|
|
|
|
# XXX: check for subprocess errors vs os error
|
|
|
|
return False
|
|
|
|
return True
|
2015-11-27 19:31:25 -08:00
|
|
|
|
|
|
|
@classmethod
|
|
|
|
def is_process_running(self, processname):
|
|
|
|
if not processname:
|
|
|
|
return False
|
|
|
|
try:
|
2016-05-13 19:52:57 +02:00
|
|
|
utils.exec_command('/bin/pidof %s' % processname, stdout=False)
|
2015-11-27 19:31:25 -08:00
|
|
|
except:
|
|
|
|
return False
|
|
|
|
else:
|
|
|
|
return True
|