一个Posix有名信号量问题

发布于 2022-09-30 12:10:10 字数 1759 浏览 14 评论 0

本帖最后由 转瞬繁华 于 2011-04-07 17:14 编辑

未命名.jpg (38.27 KB, 下载次数: 4)

下载附件

2011-04-07 17:10 上传


获得信号量后没有释放,第二次运行该程序时,无法取得信号量

未命名1.jpg (28.89 KB, 下载次数: 3)

下载附件

2011-04-07 17:10 上传


接着,我调用sem_unlink删除该信号量,第一成功,第二次失败


两次运行中的怎么访问的是同一个信号量?
这个有名信号量是存在本地或者是内存中?
怎么查询?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

终止放荡 2022-10-07 12:10:10

这个信号量就是为了应用于进程间的同步

朕就是辣么酷 2022-10-07 12:10:10

你创建信号量之后会在 /dev/shm 底下看到一个虚拟的文件

第一个问题
你程序关闭后,并没有删除这个文件,即没有unlink,信号量资源没释放,
所以你下一个程序获取不到

第二个问题
你删除一遍后,那个虚拟文件已经被删了 第二次删除当然就没了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文