
ここに初めて投稿しました。あなたの助けと忍耐に感謝します。名前空間について読んで、次のようなさまざまなフォーラムを見てください。これスレッドと試行錯誤私はまだ私が達成しなければならないもの(本番実装ではない)に対する答えを探しています。
HTTPプロセスが実行される唯一のプロセスである名前空間を作成する必要があります。 HTTPプロセスが終了したら、名前空間に含まれているHTTPプロセスも終了する必要があります。これはネームスペースの自然な動作です(bind-mount
使用されていない場合)。これはコマンドを使用して行う必要がありますunshare
。
init
私はそれを達成するためにさまざまな方法を試しましたが、最善のケースは、私のPID名前空間に含まれているHTTPプロセスがグローバルにダンプされ、名前空間であった場所を殺すまで5秒以内に望ましい結果を得たということです。これがApacheのデフォルト動作であることはわかっていますが、デフォルトのApacheプロセスがinit
PID名前空間内のプロセスにリンクされていないのはなぜですか?
私はutil-linux
2.24.2を実行しているFedora 20を使用しているので、このオプションはサポートされてい--fork
ます--mount-proc
。
アップデート1:使ってみました。ネットワークネームスペースただし、1つのプロセスだけがhttpd名前空間の子として保持する方法が見つかりません。
移動するpid 名前空間。私はそれを使用しています
unshare –fp --mount-proc -- /usr/sbin/httpd –k start –DFOREGROUND
最初は見事に働いた。 httpdプロセスは、名前空間の唯一の子プロセスとして実行されます。私が子供を殺した場合、父も死ぬことであり、それが私が望むものです。同じコマンドを繰り返すと、問題を引き起こす可能性があるオプションが表示され始めます--mount-proc
。--mount-proc
オプションの可用性の観点から何かが落ちましたか?