interprocess communication
ways to communicate:
- pipe
- can also pass an fd to a different process using Unix Domain Socket
- TCP / IP
- Shared Memory (similar to threads because they have shared memory by default)
- Message buffers
- Semaphores between processes