스레드와 프로세스 fd

2019. 6. 11. 01:09임베디드/리눅스시스템프로그래밍

하나의 프로세서가 생성될 때 3개의 fd인 stdin, stdout, stderr는 자동적으로 할당된다

따라서 스레드에서는 3개의 fd를 공유하게 되고, fork를 통한 각각의 프로세서는 자신만의 fd를 갖게 된다

 

그래서 만일 fork를 하고 자식에는 stdout을 사용한 출력을 하는 상황이고 부모는 바로 죽어버리면 기존 프로세스는 종료되지만, 일정 시간 후에 자식에서 printf 명령이 출력되게 된다 

'임베디드 > 리눅스시스템프로그래밍' 카테고리의 다른 글

I/O Multiplexing  (0) 2019.07.01
pthread_func의 반환값  (0) 2019.06.13
pthread와 clone 쓰레드의 메모리 반환 시기의 차이  (0) 2019.06.11
GNU C library download  (0) 2019.06.10
wrapper 함수란  (0) 2019.06.07