"""Agent Python 子进程入口;宿主在启动前施加文件与网络沙箱。""" import os from pathlib import Path import resource import runpy import sys def main(): script, timeout, memory_mb, *arguments = sys.argv[1:] seconds = int(timeout) resource.setrlimit(resource.RLIMIT_CPU, (seconds, seconds + 1)) resource.setrlimit(resource.RLIMIT_FSIZE, (64 * 1024 * 1024,) * 2) resource.setrlimit(resource.RLIMIT_NOFILE, (128, 128)) if sys.platform.startswith('linux'): limit = int(memory_mb) * 1024 * 1024 resource.setrlimit(resource.RLIMIT_AS, (limit, limit)) sys.path.insert(0, str(Path.cwd())) sys.argv = [script, *arguments] os.umask(0o077) runpy.run_path(script, run_name='__main__') if __name__ == '__main__': main()