D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
opt
/
cloudlinux
/
venv
/
lib64
/
python3.11
/
site-packages
/
cllimits
/
lib
/
Filename :
__init__.py
back
Copy
# -*- 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 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 = [] args.append(util_path) args.extend(params) with subprocess.Popen( args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, ) as proc: out, err = proc.communicate() retcode = proc.returncode if stderr: return retcode, out.strip(), err.strip() return retcode, out.strip()