Unix 도메인 소켓을 사용하고 있습니다. 시스템에서의 위치를 알고 싶습니다.파일 시스템의 UNIX 소켓은 어디에 있습니까?
내가 그것을 읽고 시스템 호출
socketpair(AF_UNIX,SOCK_STREAM,0,fd) ;
를 사용하여 socketpair의를 작성하고있는 경우는 익명의 소켓 (바인딩을 사용하여 경로 이름 바인드되지 않은 소켓)입니다. 반면에 named라는 이름의 소켓은 bind 호출을 사용하여 파일 시스템 경로 이름에 바인드 된 소켓을 지정하는 일부 디렉토리에 저장됩니다. 예를
여기struct sockaddr_un {
sa_family_t sun_family; /* AF_UNIX */
char sun_path[UNIX_PATH_MAX]; /* pathname */
};
sun_path 수 있습니다/tmp를/양말 파일 .
마찬가지로, 이름없는 소켓이 시스템이나 메모리 또는 커널의 어느 위치에 있는지 알고 싶습니까?
미리 감사드립니다.
'어디에서'를 의미합니까? FD는 커널 데이터 구조에 대한 핸들입니다. 소켓 FD를 포함한 모든 FD에 적용되며, 이름없는 유닉스 소켓에 대해서는 소켓 FD를 포함합니다. 이름이 없다는 것은 아무 관련이 없습니다. – EJP
@EJP : 어떤 데이터 구조 나 그 FD 테이블이 무엇인지 알 수는 없습니다. –