Posix消息队列和命令行?

jsk*_*ski 10 linux posix message-queue

我正在编写一些代码来替换带有POSIX消息队列的TCP套接字.有时程序会崩溃(仍在开发中),并且不会删除创建的队列(不执行:mq_close()+ mq_unlink()).当我再次运行代码时,这会导致问题.

有没有办法使用命令行删除/删除这些队列?我试过用:ipcs -q.这无法列出任何队列.

我试过了:lsof | grep queue-name.他们确实出现在这里.

理想情况下,我想使用:ipcrm.

jsk*_*ski 16

POSIX IPC对象在虚拟文件系统中实现为文件.可以使用ls和rm列出和删除这些文件.要使用POSIX消息队列执行此操作,我们必须使用以下命令装入消息队列文件系统:

$ su
Password:
# mkdir /dev/mqueue
# mount -t mqueue none /dev/mqueue
# exit
Run Code Online (Sandbox Code Playgroud)

  • 给自己一个答案是完全可以接受的.这将有助于将来看待这个问题的其他人. (6认同)
  • 正如@Mawg提到的,不要犹豫,[accept](https://stackoverflow.com/help/accepted-answer)您自己的答案。这个答案对我也很有效。(我将删除`su`并使用`sudo <command>`。) (2认同)