在共享内存系统中,当两个进程共享一个共享内存系统时,一个进程死后,另一个正在运行的进程如何被共享内存系统通知死亡进程?IPC:共享内存死亡进程notfication
1
A
回答
1
共享内存,顾名思义,是一个被动对象内存。您需要使用互斥锁来跟踪其他应用程序的活动。每个应用程序创建自己的互斥锁并等待另一个进程的互斥锁。如果应用程序终止,互斥状态将变为放弃。
1
一种方法是让父母/控制进程将所有其他进程作为子进程启动。当任何孩子死亡时,父母将收到SIGCHLD
,并且可以以理智的方式处理共享内存/资源的清理。
PostgreSQL遵循此设计模式与其postmaster和工作进程。
请注意,在大多数Unix系统中,进程死亡期间操作系统不会更改/解锁互斥锁。信号量提供UNDO功能,但它们肯定比互斥体重得多。因人而异。
+0
非常感谢CoreyStup。 http://www.kernel.org/doc/man-pages/online/pages/man7/signal.7.html以供参考:SIGCHLD 20,17,18 Ign孩子停止或终止 – 2012-02-08 19:47:24
相关问题
- 1. 父进程和子进程共享一个IPC共享内存
- 2. 通过共享内存进程之间共享指针IPC
- 3. 共享内存IPC如何适应进程的内存布局?
- 4. 共享内存和IPC
- 5. Perl IPC ::在父母死亡时运行,杀死进程
- 6. IPC与共享内存的共享内存有什么区别?
- 7. 共享POSIX对象在进程结束/死亡时清除
- 8. 共享内存和处理Sempahores(IPC)
- 9. 使用共享内存的IPC
- 10. C - 获取IPC共享内存信息
- 11. Yaws进程死亡
- 12. Hadoop:Datanode进程死亡
- 13. C#进程死亡
- 14. 我怎样才能共享内存之间的父母 - 子进程自动释放内存时,他们死亡
- 15. IPC ::共享的共享
- 16. 通过共享内存使用Thrift进行IPC通信
- 17. 线程分配内存,主进程死亡,会发生什么?
- 18. CSR共享内存,线程,进程
- 19. IPC共享内存是否从堆中获取内存?
- 20. 获取node.js进程死亡?
- 21. 进程已经死亡
- 22. 进程死亡本身
- 23. Java进程如何死亡?
- 24. Apache/WSGI进程死亡
- 25. sqlite vs共享内存应用程序vs ipc vs?
- 26. perl:当主进程死亡时线程不会死亡
- 27. Java进程在耗尽系统内存后死亡。为什么?
- 28. pthread进程共享互斥死锁
- 29. 多进程python与共享内存
- 30. boost ::进程间共享内存
非常感谢Eugene Mayevski的EldoS。 http://www.kernel.org/doc/man-pages/online/pages/man7/signal.7.html以供参考:SIGCHLD 20,17,18 Ign孩子停止或终止 – 2012-02-08 19:44:39
@ mav_2k如果你在谈论linux或Unix,你可能需要通过为你的问题设置适当的标签来反映这一点。 – 2012-02-09 06:05:55