PID/NET 네임스페이스의 유일한 하위 프로세스로 HTTP 프로세스를 실행합니다.

PID/NET 네임스페이스의 유일한 하위 프로세스로 HTTP 프로세스를 실행합니다.

여기에 처음으로 글을 올렸습니다. 여러분의 도움과 인내심에 감사드립니다. 네임스페이스에 대해 읽고 다음을 포함한 다양한 포럼을 살펴본 후이것스레딩과 시행착오 저는 아직도 제가 성취해야 할 것(프로덕션 구현이 아닌)에 대한 답을 찾고 있습니다.

HTTP 프로세스가 실행되는 유일한 프로세스인 네임스페이스를 만들어야 합니다. HTTP 프로세스가 종료되면 네임스페이스에 포함된 HTTP 프로세스도 종료되어야 합니다. 이는 네임스페이스의 자연스러운 동작입니다( bind-mount사용되지 않는 경우). 이는 명령을 사용하여 수행해야 합니다 unshare.

init나는 그것을 달성하기 위해 다양한 방법을 시도했고 가장 좋은 경우는 내 PID 네임스페이스에 포함된 HTTP 프로세스가 전역으로 덤프되어 네임스페이스였던 곳을 죽일 때까지 5초 이내에 원하는 결과를 얻었다는 것입니다 . 이것이 Apache의 기본 동작이라는 것을 알고 있지만 기본 Apache 프로세스가 initPID 네임스페이스 내의 프로세스 에 연결되지 않는 이유는 무엇입니까 ?

저는 util-linux2.24.2를 실행하는 Fedora 20을 사용하고 있으므로 이 옵션이 --fork지원됩니다 --mount-proc.

업데이트 1:나는 사용해 보았습니다.네트워크 네임스페이스하지만 하나의 프로세스만 httpd 네임스페이스의 하위로 유지하는 방법을 찾을 수 없습니다.

이동하다pid 네임스페이스. 나는 그것을 사용하고 있다

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

처음에는 훌륭하게 작동했습니다. httpd 프로세스는 네임스페이스의 유일한 하위 프로세스로 실행됩니다. 내가 아이를 죽이면 아버지도 죽는 것이고, 그것이 내가 원하는 것이다. 동일한 명령을 반복하면 문제를 일으킬 수 있는 옵션이 보이기 시작합니다 --mount-proc. --mount-proc옵션 가용성 측면에서 뭔가 빠졌 나요 ?

관련 정보