我有一个需要通过加载共享库来扩展的进程。 有没有一种方法可以在沙箱环境(不是外部进程)中运行共享库代码,这样,如果发生段错误,它不会使进程崩溃,并且限制了可以分配多less内存,可以使用的CPU周期等等
我不认为有一个干净的方法来做到这一点。 你可以尝试:
本质上 – 这将是有趣的尝试,但我建议你去单独的过程方法,并使用RPC,配额,ulimits等
不。如果共享库段错误,你的进程会segfault(进程正在执行库代码)。 如果将其作为外部进程运行并使用RPC机制,那么就会崩溃,但是当程序不可用(需要重新启动)时,程序需要检测。 像chroot
这样的工具可以处理沙箱,但不是可执行文件链接到的各个库。