| 12345678910111213141516171819202122232425 |
- """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()
|