필자는 유닉스에 합리적으로 익숙해 져 있고 오랜 시간 동안 프로그래밍했지만 필자는 파일 조작에 익숙하지 않습니다.UNIX 파일 설명자 재사용
0/1/2 파일 디스크립터는 표준 입력, 출력 및 오류라는 것을 알고 있습니다. 나는 프로세스가 파일을 열 때마다, 아직 사용되지 않은 가장 작은 값을 가진 디스크립터가 주어진다는 것을 알고있다. 그리고 나는 dup/dup2를 사용하는 것에 대해 이해한다.
프로세스간에 파일 설명자를 혼동합니다. 각 프로세스는 in/out/error에 대해 자체 0/1/2 디스크립터를 갖거나 모든 프로세스간에 공유되는 3 개의 디스크립터입니까? 3 개의 다른 쉘에서 3 개의 프로그램을 실행하는 방법은 무엇입니까?
두 프로그램이 시작 후 myfile.txt를 열면 둘 다 파일 설명자 # 3을 사용합니까, 아니면 두 번째 프로그램이 3 번을 사용한 후 # 4를 사용합니까?
저는 몇 가지 방법으로 같은 질문을했지만 저는 분명히하고 싶었습니다. 자세한 내용은 더 나은 :) 나는 프로그래밍하는 동안 이런 일들에 문제가 생겨본 적이 없지만 더 많은 것을 이해하기 위해 유닉스 책을 읽고있다. 그리고 나는 갑자기 이런 혼란을 많이 깨달았다. 전에 자세히.
게시글에 'c'언어 태그를 추가하면 더 좋은 의견을 얻을 수 있습니다. 나는 이것이 여러 번 논의 된 것을 보았으므로 '[c] stdout dup descriptors'를 검색하십시오. 행운을 빕니다. – shellter
감사합니다. 태그를 추가했습니다. 다른 질문도 보겠습니다. –