Mini Shell
# -*- coding: utf-8 -*-
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT
from __future__ import absolute_import
import subprocess
def exec_utility(util_path, params, stderr=False):
"""
Executes supplied utility with supplied parameters
:param util_path: string with path to callable utility
:param params: utility parameters
:param stderr: trigger to return stderr or not
:return: Cortege (ret_code, cagefsctl_stdout) if stderr is False
Cortege (ret_code, cagefsctl_stdout, cagefsctl_stderr) otherwise
"""
args = list()
args.append(util_path)
args.extend(params)
process = subprocess.Popen(
args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
out, err = process.communicate()
retcode = process.returncode
if stderr:
return (retcode, out.strip(), err.strip())
return retcode, out.strip()
Zerion Mini Shell 1.0