$ ipcs
따라서 이 섹션을 실행하면 shared memory segment
다양한 결과가 반환됩니다.
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 524288 jvn 600 524288 2 dest
0x00000000 1048577 jvn 600 524288 2 dest
0x00000000 1769474 jvn 600 393216 2 dest
0x00000000 753667 jvn 600 524288 2 dest
0x00000000 1146884 jvn 600 16777216 2
이 0x00000000
값은 모든 IPC 객체에 존재하는데 왜 다르지 않습니까? 무슨 뜻이에요?
더 많은 배경 정보를 제공하기 위해,TLDP상태:
고유 ID를 얻으려면 키를 사용해야 합니다. 키는 클라이언트와 서버 프로세스 모두에서 동의해야 합니다. 이는 애플리케이션을 위한 클라이언트/서버 프레임워크를 구축하는 첫 번째 단계를 나타냅니다.
전화로 누군가에게 전화를 걸 때는 그 사람의 번호를 알아야 합니다. 또한 전화 회사는 발신 전화를 최종 목적지로 전달하는 방법을 알아야 합니다. 상대방이 전화를 받아 응답하면 연결이 설정됩니다.
System V IPC 시설의 경우
telephone'' correllates directly with the type of object being used. The
전화 회사 또는 라우팅 방법이 IPC 키와 직접 연결될 수 있습니다.키 값을 애플리케이션에 하드코딩하면 키가 매번 같은 값이 될 수 있습니다. 단점은 키가 이미 사용 중일 수 있다는 것입니다. 일반적으로 ftok() 함수는 클라이언트와 서버에 대한 키 값을 생성하는 데 사용됩니다.
답변1
대답은 Linux Foundation Certified System Administrators의 온라인 강좌 콘텐츠를 통해 찾았습니다.
현재 실행 중인 거의 모든 공유 메모리 세그먼트에는 키(IPC_PRIVATE라고도 함)가 있습니다.
0
이는0x00000000
상위/하위 관계가 있는 프로세스 간에만 공유된다는 의미입니다.