C 如何确定哪个进程正在使用队列?

C 如何确定哪个进程正在使用队列?,c,linux,unix,ipc,C,Linux,Unix,Ipc,我有一个消息队列id,我需要确定哪些进程正在读取和写入该队列。 是否有可能与“ipcs”一起使用的选项 ipcs -q|grep qid 这并没有提供这些细节。 谢谢对于指定的System V消息队列,您只能检索调用msgsnd()的最后一个PID和调用msgrcv()的最后一个PID 您可以使用: ipcs -q -p 它将输出: ------ Message Queues PIDs -------- msqid owner lspid lrpid

我有一个消息队列id,我需要确定哪些进程正在读取和写入该队列。 是否有可能与“ipcs”一起使用的选项

ipcs -q|grep qid 
这并没有提供这些细节。
谢谢

对于指定的System V消息队列,您只能检索调用
msgsnd()
的最后一个PID和调用
msgrcv()
的最后一个PID

您可以使用:

ipcs -q -p
它将输出:

------ Message Queues PIDs --------
msqid      owner      lspid      lrpid     
其中:

  • lspid
    -最后一个
    msgsnd()的PID
  • lrpid
    -最后一个
    msgrcv()的PID

对于指定的System V消息队列,只能检索调用
msgsnd()
的最后一个PID和调用
msgrcv()
的最后一个PID

您可以使用:

ipcs -q -p
它将输出:

------ Message Queues PIDs --------
msqid      owner      lspid      lrpid     
其中:

  • lspid
    -最后一个
    msgsnd()的PID
  • lrpid
    -最后一个
    msgrcv()的PID

它在lspid和lrpid中都显示为0。是因为没有进程读取或写入队列吗?@arjungaur完全正确。它在lspid和lrpid中都显示为0。是因为没有进程读取或写入队列吗?@arjungaur完全正确。