微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Bash脚本和C之间的持久IPC

问题:
一个C应用程序在每次事件发生时调用Bash脚本.还有一个C应用程序需要跟踪这些事件. C应用程序由select()事件循环驱动.在Bash脚本和C应用程序之间实现最简单的IPC是什么?

C Application ---Each time calls Bash script---> Bash application ---???---> C++ Application

我想到的几个解决方案:

>要使用TCP网络套接字,但这意味着select必须处理Listening和Actual套接字的事件
>要使用命名管道,但是一旦bash脚本终止,管道的另一端也会关闭

是否有更简单的东西允许我在select()中只使用一个文件描述符?

最佳答案:

Unix datagram或UDP套接字会做. bash脚本只是将数据报发送到该套接字(您可能需要一个帮助程序在该套接字上执行sendmsg()或sendto(),例如socat或netcat / nc).接收器不需要接受数据报套接字的连接,一旦准备好读取,就必须有数据报等待.受数据报长度限制.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐