Executando o processo HTTP como um único filho no namespace PID / NET

1

Primeira vez que postamos aqui, então agradeço sua ajuda e sua paciência. Depois de ler sobre namespaces, procurando em vários fóruns, incluindo este thread e tentativa e erro Ainda estou procurando respostas para uma tarefa (não uma implementação de produção) que preciso realizar.

Eu preciso criar um namespace que tenha o processo HTTP como o único processo em execução nele. Se esse processo HTTP morrer no namespace, o processo HTTP contido nele também deve morrer, pois esse é o comportamento natural dos namespaces (a menos que bind-mount seja usado). Isso deve ser feito usando o comando unshare .

Eu tentei várias maneiras de alcançá-lo e o melhor cenário que tive foi o resultado desejado por 5 segundos até que o processo HTTP contido no meu namespace PID fosse descartado no init global e, assim, matasse o namespace em que estava. esse é o comportamento padrão do apache, mas por que o processo principal do apache não fica anexado ao processo init dentro do namespace do PID?

Estou usando o Fedora 20 executando util-linux 2.24.2, então as opções --fork e --mount-proc são suportadas.

Atualização 1: Eu tentei usar namespace de rede , mas não consegui encontrar uma maneira de permanecer com apenas um processo, httpd, como um filho para o namespace.

Mover para pid namespace . Estou usando

unshare –fp --mount-proc -- /usr/sbin/httpd –k start –DFOREGROUND

Funciona bem pela primeira vez. O processo httpd é executado como o único filho do namespace. Quando mato a criança, o pai está morto, o que eu quero. Se eu repetir o mesmo comando, começo a ver os problemas que provavelmente resultam da opção --mount-proc . Há algo que eu esteja perdendo aqui com a usabilidade da opção --mount-proc ?

    
por nspace 31.10.2014 / 19:49

0 respostas