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
?