我了解semaphores,但是我的 Linux 机器上使用的这些信号量数组是什么?
$ ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 327681 root 644 80 2
0x00000000 360450 root 644 16384 2
0x00000000 393219 root 644 280 2
...
------ Semaphore Arrays --------
key semid owner perms nsems
0x4172d4f4 290914305 lazer 660 104
0x3b87b970 291045378 lazer 660 104
0xa97eb380 293928963 lazer 660 104
0x1fde2040 294191108 lazer 660 104
------ Message Queues --------
key msqid owner perms used-bytes messages
$
Run Code Online (Sandbox Code Playgroud)
此外,他们保护哪些操作系统资源?
ipcs -i <SEMID> -s将为您提供有关特定 sem 数组的更多信息。例如
[me@home]$ ipcs -i 32769 -s
Semaphore Array semid=32769
uid=537 gid=85 cuid=537 cgid=85
mode=0600, access_perms=0600
nsems = 1
otime = Mon Sep 19 12:18:53 2011
ctime = Mon Sep 19 12:07:11 2011
semnum value ncount zcount pid
0 1 0 0 7548
Run Code Online (Sandbox Code Playgroud)
使用 pid 找出谁在使用它。