Mini Shell
#!/opt/cloudlinux/venv/bin/python3 -bb
# -*- coding: utf-8 -*-
# cloudlinux-limits Utility to set/get any Cloudlinux limits
#
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2022 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT
# pylint: disable=import-outside-toplevel
import sys
from cllimits.lib.limits import CloudlinuxLimits
from clcommon.utils import is_root_or_exit
_PROFILING_REPORT_FILENSME = 'cloudlinux-limits-profiling.bin'
_ret_code = 0
def work():
global _ret_code
cll = CloudlinuxLimits()
_ret_code = cll.run(sys.argv[1:])
def main():
"""
Main run function
"""
is_root_or_exit()
is_profiling = '--profiling' in sys.argv
if is_profiling:
sys.argv.remove('--profiling')
# Profiling mode
profiler_log = _PROFILING_REPORT_FILENSME
import profile
profile.run('work()', profiler_log)
print("Profiling end; result saved to " + profiler_log)
# Profiler result decode
import pstats
p = pstats.Stats(profiler_log)
print('--------------------------------------')
print()
# p.sort_stats('calls').print_stats(500)
p.sort_stats('time').print_stats(500)
else:
# Work without profiler
work()
if __name__ == "__main__":
main()
sys.exit(_ret_code)
Zerion Mini Shell 1.0