내 Linux 시스템에서 "ipcs" 명령을 실행하면 다음 정보가 표시됩니다.
srinivas@srinivas-G41MT-S2:~$ ipcs -a
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 0 srinivas 600 393216 2 dest
0x00000000 32769 srinivas 600 393216 2 dest
0x00000000 65538 srinivas 600 393216 2 dest
0x00000000 6684675 srinivas 600 393216 2 dest
0x00000000 131076 srinivas 600 393216 2 dest
0x00000000 163845 srinivas 600 12288 2 dest
0x00000000 196614 srinivas 600 393216 2 dest
0x00000000 229383 srinivas 600 393216 2 dest
0x00000000 7208968 srinivas 600 262080 2 dest
0x00000000 7241737 srinivas 600 393216 2 dest
0x00000000 393226 srinivas 600 393216 2 dest
------ Semaphore Arrays --------
key semid owner perms nsems
------ Message Queues --------
key msqid owner perms used-bytes messages
srinivas@srinivas-G41MT-S2:~$
내 시스템에서 왜 단 하나의 애플리케이션만 메시지 대기열을 사용하는지 이해할 수 없습니다.
많은 응용 프로그램을 설치하고 실행하고 있습니다(Ubuntu OS). 다른 스레드 간에 문자 메시지를 전송하기 위해 내 C 응용 프로그램 중 하나에서 메시지 대기열을 사용하고 있습니다.
이것을 본 이후로 메시지 대기열은 아무도 사용하지 않기 때문에 데이터 전송에 적합하지 않을 수 있다는 느낌이 들었습니다. 메시지 큐를 사용하는 것이 완전히 안전한가요? 올바르게 구현하지 않으면 메모리 손상이 발생할 수 있습니까?