반응형

오픈 소스/LXC 3

[LXC] lxc-monitor.c 분석

lxc-monitor.c regexp lxc_monitor.c 중간에 regexp라는 변수가 있다. 만일 사용자가 lxc-monitor -n c1 으로 명령어를 입력한다면 regexp : ^c1$이다. lxc-monitor -n 'c1|c2'로 한다면 regexp : ^c1|c2$이다. my_args.lxcpath[i] 중간에 nfds의 수만큼 for문을 도는 문장이 있다. 여기서 my_args.lxcpath[i]를 가지고 lxc_tool_monitord_spawn, lxc_monitor_open과 같은 함수를 사용한다. lxc-monitor -n c1을 입력했을 때 my_args.lxcpath[i] => /usr/local/var/lib/lxc이다. lxc_tool_monitord_spa..

오픈 소스/LXC 2019.05.09

[LXC] 더블포크(double fork) - 좀비 프로세스 피하는 방법

lxc-monitor.c - double fork 사용 사람들이 하는 흔한 실수 중 하나는, 자식 프로세스의 종료를 기다리는 waitpid()를 호출하지 않고 자식 프로세스를 포크하는 것이다. wait()호출을 하지 않으면, 자식 프로세스는 종료 후 좀비 프로세스가 된다. 왜냐하면 그것(자식)의 부모 프로세스가 시스템에서 자식의 프로세스 정보를 cleanup 하지 않기 때문이다. 좀비 프로세스가 시스템의 PID를 차지하므로 시스템에서 사용가능한 PID를 줄인다. 좀비는 ps명령으로 프로세스를 확인하면 '비활성화됨(defunct)'로 표시된다. 그러나 때로는 부모 프로세스가 자식 프로세스를 오랫동안 기다리지 않는 것을 원한다. '좀비 프로세스를 만들지 않기', '자식 프로세스가 종료 될 때까지 기다리지 말..

오픈 소스/LXC 2019.05.07

[LXC] 수동 설치 - lxc-net 오류 해결

lxc 수동 설치 트러블 슈팅 lxcbr0 자동 생성 안 되는 경우 systemctl start lxc-net 실행 시 아래와 같은 오류 발생. 4월 16 23:07:42 jykcom systemd[1]: Starting LXC network bridge setup... 4월 16 23:07:42 jykcom lxc-net[6101]: dnsmasq: cannot open or create lease file /usr/local/var/lib/misc/dnsmasq.lxcbr0.leases: No such file or directory 4월 16 23:07:42 jykcom lxc-net[6101]: Failed to setup lxc-net. 4월 16 23:07:42 jykcom systemd[1]..

오픈 소스/LXC 2019.04.16
반응형