Computer Science/Linux
데몬과 네임스페이스의 관계
2mukee
2024. 1. 17. 21:57
320x100
320x100
데몬은 systemd의 서브 프로세스로 유닛파일에 정의된대로 네임스페이스를 가진다.
또한 fork() 또는 clone()과 같은 System Call을 이용하여 Child Process를 생성하는 경우,
Namespace 관련 설정을 적용하지 않는 이상 기본적으로 Child Process는 Parent Process가 이용하는 Namespace를 상속받아 그대로 이용한다는 특징도 갖고 있다.
이러한 상속 특성 때문에 기본적으로 Host의 Process들은 Host의 Namespace에 소속되어 동작한다. (컨테이너의 원리와 동일)
때문에 systemd 데몬에서 서브 프로세스를 실행할 경우에는 cd를 사용하여 위치를 이동한 다음 명령어를 실행해야한다.
네임스페이스
: 내부 식별자에 사용될 수 있는 유효 범위를 제공하는 선언적 영역이자 개체를 구분할 수 있는 범위
- 예시
: 강아지라는 개념이 있을때 철수네 강아지, 영희네 강아지 처럼 강아지를 구별할 수 있도록 하는 '철수네/영희네' 라는 '소속'이 네임스페이스의 개념
- 사례
/proc 디렉터리에서 1번 (systemd) 아래 네임스페이스를 의미하는 ns 디렉터리를 들어가면 'pid:[4026531836]' 과 같은 숫자가 있는데, 여기서 나오는 10자리 숫자가 바로 현재 프로세스의 PID 네임스페이스를 의미
300x250
728x90