c - 如何在Linux C中读取另一个进程的输出

标签 c linux embedded-linux

我是一名 C++ 人员,刚接触 Linux C。请。建议可能的解决方案。

我的场景:有两个进程,进程A和进程B。进程B是一个包装器,它将启动进程A并等待一段时间并继续其操作。

要求:我应该等到进程 A 打印出“Ready to Go!”,然后继续进程 B 的事件。

我想做什么?我想从进程 B 启动进程 A 并检查进程 A 的输出是否包含我想要等待的字符串然后继续。

目前我有启动进程 A 并等待几秒钟然后继续进程 B 的代码。

如何在 C Linux 中实现这一点?

提前致谢。

最佳答案

您可以查看进程间通信,以了解进程之间相互通信所使用的不同方法。共享内存或消息队列是不错的选择。要从 Process_B 启动 process_A,请使用 exec。看看this以供引用。

关于c - 如何在Linux C中读取另一个进程的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40622225/

相关文章:

c - 从二进制文件 c 构建一个 float

linux - 如何更正浮点值范围?

c - 如何编写一个简单的 Linux 设备驱动程序?

linux - dma_alloc_coherent() 超过 4mb 的内存分配失败

c - 如何在文件系统中实现类似碎片整理的方法

c - glibc:无效指针上的 fclose() 在 pthread_once() 中挂起

c - sqlite3的共享库中可能存在内存泄漏

linux - EPOLL 文件描述符和事件文件描述符有什么区别?

linux - Linux 上文件夹中的文件所有者列表

linux - Linux 内核中的 netlink 套接字与来自用户空间的轮询有何不同?