输出到stdout / cout / etc的进程间同步

时间:2012-05-08 21:33:45

标签: c++ unix synchronization posix

有没有办法在不相关的进程之间将输出同步到标准输出流(可以是C stdout还是C ++的std::cout),以便不相关进程的输出不会散布?

2 个答案:

答案 0 :(得分:2)

虽然有一个名为sync_with_stdio的函数,但这并不符合您的想法。

您需要使用一些操作系统提供的同步原语,如boost::scoped_lockboost::mutex(在一个进程中)或Boost.MPI原语进行进程间同步。

答案 1 :(得分:1)

取决于你无关的意思。在没有父/子关系的意义上,这些过程可以是无关的,但是它们仍然必须被编程为以某种方式进行合作,无论是信号量,互斥锁,文件锁等等。没有秘密系统调用(我知道)会自动同步来自两个独立进程的两个独立流。