有没有办法在不相关的进程之间将输出同步到标准输出流(可以是C stdout
还是C ++的std::cout
),以便不相关进程的输出不会散布?
答案 0 :(得分:2)
虽然有一个名为sync_with_stdio
的函数,但这并不符合您的想法。
您需要使用一些操作系统提供的同步原语,如boost::scoped_lock
和boost::mutex
(在一个进程中)或Boost.MPI原语进行进程间同步。
答案 1 :(得分:1)
取决于你无关的意思。在没有父/子关系的意义上,这些过程可以是无关的,但是它们仍然必须被编程为以某种方式进行合作,无论是信号量,互斥锁,文件锁等等。没有秘密系统调用(我知道)会自动同步来自两个独立进程的两个独立流。