我有一个关于操作系统中的进程间通信的问题。IPC通过写入文件?
两个进程可以通过打开同一个文件(也就是说在两个进程之前创建,所以两个进程都有文件处理程序)进行通信,然后通过写入该文件进行通信?
如果是,那么这个方法是什么?我听说IPC的两种主要方式是通过共享内存和消息传递。这些方法之一是哪一种? 原因是,我不确定它是否属于共享内存,因为这个文件没有映射到任何这些进程的地址空间。而且,从我的理解,在共享内存中,共享内存区域是这两个进程的地址空间的一部分。
假设进程以某种预先约定的协议/格式写入文件,所以两者在知道其他进程写入的位置以及何时等方面都没有问题。这种假设仅仅是为了理解。但在现实世界中,这可能过于严格,无法保持真实等。
如果否,那么这种情况有什么问题?是否如果两个不同的进程打开同一个文件,那么第一个进程所做的更改不会刷新到永久存储中供其他人查看,直到进程终止?或者是其他东西?
来自Windows和Linux的任何现实世界的例子也应该是有用的。
谢谢,