"리눅스 커널의 이해" 페이지 135의 내용을 옮겨왔읍니다.
CLONE_VM:
메모리 디스크립터와 모든 페이지 테이블을 공유한다.
CLONE_FS:
루트디렉토리와 현재 작업 디렉토리를 나타내는 테이블과 새로만들어지는 파일의 초기 접근 권한을 나타내는 'umask'라 불리는 비트마스크 값을 공유한다.
CLONE_FILES:
열린 파일을 나타내는 테이블을 공유한다.
CLONE_SIGHAND:
시그널 핸들러 및 거부되는 시그널, 실행을 기다리는 시그널을 나타내는 테이블을 공유한다. 이플래그가 참이면 CLONE_VM 플래그가 설정되어야한다.
CLONE_PTRACE:
ptrace() 시스템콜을 이용하여 부모프로세스를 추적하고 있다면 자식 프로세스 역시 추적할수있다. 부모 프로세스나 디버거가 자식 프로세스를 추적하기를 원할경우 1로 설정한다.
CLONE_VFORK:
vfork() 시스템콜에서 사용한다
CLONE_PARENT:
새로 만들어지는 자식 프로세스의 부모를 (프로세스 디스크립터에있는 parent와 real_parent 필드) 이 함수를 호출하는 프로세스의 부모로 설정한다.
CLONE_THREAD:
자식 프로세스를 부모 프로세스와 같은 스레드 그룹에 넣고, 자식 프로세스가 부모 프로세스의 시그널 디스크립터를 공유한다. 자식 프로세스의 tgid 및 groupleader 필드도 이에따라 설정한다. 이플래그를 지정하면 CLONE_SIGHAND 역시 설정된다.
CLONE_NEWNS:
clone 함수가 마운트 된 파일시스템에 대해 자신만의 이름공간(Name space)이 필요할때 설정한다. CLONE_FS와 동시에 설정되지 못한다.
CLONE_SYSVSEM:
시스템 V IPC 의 세마포어 연산을 공유한다
CLONE_SETTLS:
경량 프로세스를 위한 새 스레드 지역저장소 (TLS) 세그먼트를 만든다. 세스먼트 정보는 TLS 매개변수가 가리키는 자료구조에 들어간다.
CLONE_PARENT_SETTID:
자식 프로세스 PID를 ptid 매개변수가 가리키는 부모 프로세스의 사용자 모드변수에 저장한다.
CLONE_CHILD_CLEARTID:
이 플러그가 설정되면 커널은 자식 프로세스가 종료하거나 새 프로그램이 실행될때 동작할 메커니즘을 지정한다. 이런경우 커널은 ctid 매개변수가 가리키는 사용자 모드변수를 0으로 만들고 사건을 기다리는 모든 프로세스를 깨운다.
CLONE_DETACHED:
커널에 의해 무시되는 과거 플래그이다.
CLONE_UNTRACED:
커널이 CLONE_PTRACE 플러그를 무시하기위해 설정된다.
CLONE_CHILD_SETTID:
자식 프로세스 PID를 ctid 매개 변수가 가리키는 자식 프로세스의 사용자 모드변수에 저장한다.
CLONE_STOPPED:
자식 프로세스가 TASK_STOPPED 상태가 되게한다.
댓글 0
.