达尔文中是否有类似于 cgroups 的类似方法,用于防止进程通过以下方式逃离其父进程的控制/监视fork()?如果是,那是什么?
对于某些背景,考虑一个进程 P、直接后代 Q 以及 Q 的后代 R:cgroups 允许 P 控制和监视 Q 和 R。如果 P 启动 Q,但 Q 生成一个进程(R 中的 r) ,如果没有类似于 cgroups 的东西,P 就无法监控 r。
一个现实世界的例子是 systemd (P) 生成 openssh 的 sshd (Q) 作为守护进程,然后生成 sshd (R) 的其他实例来处理每个打开的会话。如果没有 cgroup,systemd 将无法与每会话 sshd 进行交互。
(在 NT 环境中,cgroup 类似于Job 对象。)
究竟什么是他们不应该“逃避”的?您可能想看一下chrootand jails(Darwin 是 BSD 衍生品,因此最后一个 BSDism 可能可用)。请小心,真正将一个进程放入其无法逃脱的笼子中并不是一件小事。
| 归档时间: |
|
| 查看次数: |
2355 次 |
| 最近记录: |