linux下进程间通信,如何实现超时处理,有没有什么其他方案这个效果,让它不死等?

在linux环境下,在进程间通信时,比如“消息队列”,一般是没有超时处理的接口的,要不就是去接收,接收不到就一直死等,直到有数据过来才返回,要不就是去接收时,发现没有数据,则立即返回;
现在想实现让他去接收数据时,如果没有数据,则等待,等待一段时间后还没有数据到,则返回报错提示。
请问如何实现这个效果,或是在进程间通信方面有没有其他方案可以实现超时处理这个效果?

用非阻塞的api,然后自己定时判断超时

你试试select定时

可以设置为非阻塞的,比如等待1秒,然后重新去接受数据,就像socket的那样