1. Nameless pipe (pipe): A pipe is a half-duplex mode of communication in which data can only flow in one direction and can only be used between processes that have affinity. A process's affinity usually refers to a parent-child process relationship.
2. Advanced Pipeline (Popen): When another program is started as a new process in the current program process, it is considered a sub-process of the current program, which we become the advanced pipeline method.
3. Famous pipe (named pipe): A well-known pipe is also a half-duplex mode of communication, but it allows communication between unrelated processes.
4. Message Queuing: Message Queuing is a linked list of messages, stored in the kernel and identified by message queue identifiers. Message Queuing overcomes the disadvantages of less signal transmission information, only unformatted byte stream, and limited buffer size.
5. Semaphore (Semophore): Semaphore is a counter that can be used to control access to shared resources by multiple processes. It is often used as a locking mechanism to prevent a process from accessing the shared resource while other processes are accessing the resource. Therefore, it is primarily used as a means of synchronization between processes and between different threads within the same process.
6. Signal (sinal): signal is a more complex mode of communication for notifying the receiving process that an event has occurred.
7. Shared Memory: Shared memory is the mapping of memory that can be accessed by other processes, which is created by a process, but can be accessed by multiple processes. shared memory is the fastest IPC approach and is specifically designed for low-efficiency operation of other interprocess communication modes. It is often used with other communication mechanisms, such as signal two, to achieve synchronization and communication between processes.
8. Socket: Socket is also an inter-process communication mechanism, unlike other communication mechanisms, it can be used for process communication between different machines.
Eight ways to communicate between processes----shared memory is the fastest way to IPC