fork()
を使用して、プロセスが親プロセスの制御/監視から逃れるのを防ぐための、ダーウィンのcgroupsに類似したものはありますか?はいの場合、それは何ですか?
いくつかの背景について、プロセスP、直接の子孫Q、およびQの子孫Rを考えてみましょう。cgroupsにより、PはQとRを制御および監視できます。PがQを起動したが、Qがプロセスを生成した場合(Rのr) 、cgroupsに似たものがないと、Pはrを監視できません。
これの実際の例は、デーモンとしてopensshのsshd(Q)を生成するsystemd(P)であり、次に、開かれた各セッションを処理するためにsshd(R)の他のインスタンスを生成します。 cgroupがないと、systemdはセッションごとのsshdと対話できません。
(NT環境では、cgroupsは ジョブオブジェクト に類似しています。)
正確には、彼らは何から「逃げる」べきではないのでしょうか? chroot
とjails
を確認することをお勧めします(DarwinはBSD派生物であるため、この最後のBSDismが利用できる可能性があります)。注意してください、本当にプロセスをエスケープできないケージに入れるのは簡単ではありません。