중복 가능성:
/proc/PID/fd/X 링크 번호
파일 설명자와 proc 파일 시스템의 연결에 대한 질문이 있습니다. proc에서 프로세스의 파일 설명자를 나열하면 ls -la /proc/1234/fd
다음과 같은 출력이 표시되는 것을 확인했습니다.
lr-x------ 1 root root 64 Sep 13 07:12 0 -> /dev/null
l-wx------ 1 root root 64 Sep 13 07:12 1 -> /dev/null
l-wx------ 1 root root 64 Sep 13 07:12 2 -> /dev/null
lr-x------ 1 root root 64 Sep 13 07:12 3 -> pipe:[2744159739]
l-wx------ 1 root root 64 Sep 13 07:12 4 -> pipe:[2744159739]
lrwx------ 1 root root 64 Sep 13 07:12 5 -> socket:[2744160313]
lrwx------ 1 root root 64 Sep 13 07:12 6 -> /var/lib/log/some.log
나는 파일 설명자가 무엇을 의미하는지 이해하고 내 예를 통해 파일 설명자 0 1 2 및 6이 내 컴퓨터의 물리적 리소스와 연결되어 있고 5가 (소켓으로 인해) 네트워크의 일부 리소스에 연결되어 있다는 것을 이해합니다. 괄호 안의 숫자가 무엇을 의미하는지 이해가 되지 않습니다. 자원의 일부 속성을 가리키는가? 또한 일부 링크가 끊어진 이유는 무엇입니까? 마지막으로 제가 물어본 질문입니다 :) 파이프란 무엇인가요?
답변1
리소스의 일부 속성을 가리키나요?
예. 리소스를 식별할 수 있는 고유 식별자입니다.
또한 일부 링크가 끊어진 이유는 무엇입니까?
파일 시스템에 존재하지 않는 링크이기 때문에 일반적인 방법으로는 링크를 따라갈 수 없습니다. 기본적으로 링크는 리소스 유형과 고유 식별자를 반환하는 방법으로 남용됩니다.
파이프라인이란 무엇입니까?
이름에서 알 수 있듯이 파이프는 두 지점 사이를 연결하며, 한쪽 끝에 무엇을 넣으면 다른 쪽 끝으로 흘러나옵니다.
답변2
여기에서 개방형 파이프에 대한 자세한 정보를 얻는 방법을 확인해 보세요.
proc-show-open-pipes-show-in-proc-in-linux에 대한 추가 정보를 얻는 방법
lsof | grep 2744159739
함께 "파이프된" 두 명령은 제대로 작동해야 하며, 둘 중 하나가 작동하지 않으면 파이프가 끊어집니다. 파이프는 다른 것에 의해 파손될 수도 있습니다. 그것이 가장 먼저 떠오르는 것입니다.
파이프(예: bash/ksh 셸에서 세로 막대로 표시됨)를 사용하면 별도의 프로세스가 서로 통신하여 추가 처리를 위해 한 명령에서 받은 정보를 다른 명령으로 전달할 수 있습니다. 예를 들어:
ls -l | grep testfile