I knew there are several methods to implement IPC. Such as pipe, socket and so on.
Here is my question:
Say we have a parent process A and two child processes B and C.
I knew that if B wants to communicate with C. It needs to use IPC.
Q1: In this case, Are IPC methods limited? To implement this kind of IPC, are there only some types of IPCs can be used? such as It can only use pipe, shared memory but signal.
Q2: If child process want to communicate with its parent, Is IPC needed? (How about B has its child D, If D wants to communicate with A, Is IPC needed?) Q3: If a thread in B and a thread in D, Is IPC needed for these two thread to communicate?
Q4: Same question as Q3, how about two thread one is in child process and the other one is in parent process?
Thanks