日期:2014-05-16  浏览次数:20636 次

linux下的一个进程通信问题,请指教。
有N个进程,只要其中有一个进程向共享内存中放入数据,就通知其他的进程到共享数据区取数据,
该进程不知道其它进程的存在。这个问题应该怎么解决阿........
请各位高人指点。


------解决方案--------------------
用信号量和消息队列.
------解决方案--------------------
这个所谓的"通知"是不可能, 除非你触发底层的中断或者异常.
从上层来讲, 只能是靠其他进程不停的检查某一信号量.
------解决方案--------------------
可以自己定义一个信号。当一个进程放入数据后,就通知其他所有的进程
------解决方案--------------------
可以用本地socket通信或者pipe管道。

B进程通过select监听socket或者pipe,A进程向socket发送数据,B进程就可以马上监听到,并取得数据。