이 질문에서:기본 할당 파일 설명자 3은 무엇입니까?사용되면 /proc/self/fd
역참조 /proc/32157/fd
가 됩니까 pid
? 나는 왜 할 수 없습니까 echo $self
? 나는 전에 그것을 본 적이 없습니다 self
.
답변1
트리는 /proc
동적으로 생성된 운영 체제 창입니다. 프로세스가 를 참조할 때 /proc/self
커널은 self
호출자의 를 사용합니다 pid
. 이렇게 하면 프로세스 자체에서 pid 조회를 수행하는 것을 방지할 수 있지만 /proc/{pid}
이미 알고 있는 경우 pid 조회를 수행하여 동일한 정보 노드를 얻을 수 있습니다 pid
.
Unix의 장점 중 하나는 이러한 모든 항목을 /
루트 네임스페이스 아래에 통합하여 실제 파일 시스템이 아닌데도 파일 및 디렉터리처럼 작동하게 한다는 것입니다.
$self
완전히 다른 개념이기 때문에 에코할 수 없습니다 echo $[varname]
. 쉘 작업 수행: 쉘에는 상태를 유지하는 "환경 변수"가 있습니다. 이것은 파일 시스템과는 아무런 관련이 없습니다 /proc
.