Il termine che cerchi è IPC (inter-process communication); esistono numerosi metodi forniti dal sistema operativo - socket, pipe (anche solo come cattura di stdin/stdout), shared memory, message queues, DBus, come anche librerie di terze parti che semplificano molto (viene in mente zeromq), o anche banalmente passaggio di parametri da linea di comando nei casi più semplici. Usare file su disco in genere è inutilmente inefficiente, e pone tutta una serie di problemi per quanto riguarda la sincronizzazione.