명명된 세마포어는 어디에 저장되나요? [폐쇄]

명명된 세마포어는 어디에 저장되나요? [폐쇄]

명명된 세마포어(사용됨 semaphore.h)는 형식의 이름으로 식별됩니다 /somename. 즉, 최대 NAME_MAX-4(즉, 251)자로 구성된 문자열로, 첫 글자는 슬래시와 그 뒤에 하나 이상의 문자로 구성됩니다. 이 문자 중 어느 것도 슬래시가 아닙니다.

이름은 파일 시스템의 경로 이름과 일치하기 때문입니다. 이 세마포어는 어디에 있나요? ipcsSystem V 세마포어와 함께 사용됩니다. POSIX 세마포어를 찾는 방법은 무엇입니까?

답변1

~에서사람 7 SEM_개요:

파일 시스템을 통해 명명된 세마포어에 액세스

Linux에서 명명된 세마포어는 일반적으로 다음 위치에 설치되는 가상 파일 시스템에 생성됩니다. /dev/shm, 이름 형식은 입니다 sem.somename. (이것이 세마포어 이름이 NAME_MAX 문자 대신 NAME_MAX-4로 제한되는 이유입니다.)

답변2

/proc/<pid>/maps/특정 PID를 가진 프로세스의 메모리 맵이 표시됩니다. (관련 질문:https://stackoverflow.com/questions/1401359/understanding-linux-proc-id-maps)

출력에서 POSIX 세마포어는 /dev/shm/.

관련 정보