La comunicazione tra processi (IPC) è un insieme di interfacce di programmazione che consentono a un programmatore di coordinare le attività tra i diversi processi del programma che possono essere eseguiti contemporaneamente in un sistema operativo. Ciò consente a un programma di gestire molte richieste utente contemporaneamente. Poiché anche una singola richiesta utente può comportare l'esecuzione di più processi nel sistema operativo per conto dell'utente, i processi devono comunicare tra loro. Le interfacce IPC lo rendono possibile. Ogni metodo IPC ha i propri vantaggi e limitazioni, quindi non è insolito che un singolo programma utilizzi tutti i metodi IPC.
I metodi IPC includono pipe e named pipe; accodamento dei messaggi, semafori; memoria condivisa; e prese.