디스크립터 유형은 어떻게 얻을 수 있습니까? epoll을 사용하여 소켓, 타이머 및 신호와 같은 많은 설명자를 모니터하고 있습니다. fstat을 사용하는 것이 가능하다는 것을 알았지 만,이 모드는 소켓과 파이프에 대해서만 말합니다. fstat manpage. 디스크립터를 식별하는 특별한 기능이 있습니까?리눅스 디스크립터 유형
3
A
답변
1
나는 당신이 원하는 것을하기위한 단순하거나 획일적 인 방법이 없다고 생각합니다. lsof] 1 명령은이 정보를 결정하므로 해당 코드를보고 그들이하는 일을 볼 수 있습니다.
설명자가 소켓인지 여부를 결정하기 위해 내 머리 꼭대기에서 getsockopt (2)를 사용할 수 있습니다. getsockopt에 대한 호출이 실패하고 errno == ENOTSOCK이라면 당신의 기술자는 소켓이 아닙니다. 마찬가지로 isatty (3)를 사용하여 설명자가 직렬 포트 또는 터미널에 속하는지 확인할 수 있습니다.
+0
좋아, 고마워요 :) – Kouros
관련 문제
- 1. 리눅스 파일 디스크립터 로그
- 2. 리눅스 파일 디스크립터 멀티플렉싱의 정책
- 3. 리눅스 장치 디스크립터 읽기/64, 오류 18
- 4. 리눅스 구조체 msghdr :: msg_iovlen 유형
- 5. 리눅스/유닉스 I/O 유형
- 6. DeleteLink에서 디스크립터 컬럼을 강제로 사용함
- 7. 많은 파일 디스크립터 할당하기
- 8. SURF에 대한 디스크립터 opencv
- 9. 파이썬에서 디스크립터 사용의 예
- 10. 소켓 디스크립터와 파일 디스크립터
- 11. 변태 디스크립터 행 형
- 12. 트루 파일 디스크립터 클론
- 13. 파이썬에서 중첩 디스크립터/데코레이터
- 14. 부호있는 호그 디스크립터
- 15. 돼지 디스크립터 emgu cv
- 16. 프로세스 디스크립터 초기화
- 17. 리눅스의 소켓, 스레드 및 파일 디스크립터
- 18. 파이썬 클래스 데이터 디스크립터 목록
- 19. fileno 파일을 디스크립터 C에 캐스팅
- 20. unhashable 클래스에서 디스크립터 사용 - 파이썬
- 21. 글로벌 디스크립터 테이블의 물리적 주소?
- 22. 두 디스크립터 사이의 거리를 계산하십시오.
- 23. 속성()의 디스크립터 프로토콜 구현
- 24. bash : 루프에서 많은 디스크립터 생성하기
- 25. 파이썬에서 데이터 디스크립터 속성 검사하기
- 26. org.apache.commons.net.ftp.parser.ParserInitializationException : 알 수없는 파서 유형 : 리눅스
- 27. 리눅스 커널 프로그래밍 : 열린 모든 소켓 파일 디스크립터 나열 및 관련 정보 검색
- 28. 리눅스
- 29. 리눅스
- 30. 글로벌 디스크립터 및 로컬 디스크립터 테이블의 데이터 구조가 정의 된 파일?
죄송합니다. 질문이 명확하지 않습니다. 너는 무엇을 얻고 싶니? – kirelagin
아, 알겠습니다. epoll에서 반환 된 설명자의 형식 (소켓/파일/etc)을 가져 오려면 어떻게해야합니까? – kirelagin
'fstat'에서 얻은'st_dev' 필드를 검사 해보십시오. 메이저 넘버를 가져 와서'/ proc/devices'에서 찾아서 다른 디스크립터에 대해 무엇을 얻을 수 있는지보십시오. – ugoren