def runCommand(cmd, rUsage=False):
"""
Run system command and get output, error, process handle and resource usage handle
:param cmd:
:param rUsage:
:return:
"""
import sys
from subprocess import Popen, PIPE, STDOUT
from resource import getrusage,RUSAGE_SELF,RUSAGE_CHILDREN
res = None
out = None
err = None
try:
logger.info("Start to run command: %s" % cmd)
p = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE)
# p.wait()
except OSError:
print (err)
sys.exit(p.returncode)
(out, err) = p.communicate()
if rUsage:
res = getrusage(RUSAGE_CHILDREN)
return (out, err, p, res)
评论列表
文章目录