/proc의 "self"는 무엇을 의미합니까? [복사]

/proc의 "self"는 무엇을 의미합니까? [복사]

이 질문에서:기본 할당 파일 설명자 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.

관련 정보