Как уже было сказано - это называется IPC
Если нужно обмениваться данными, то можно использовать техники:
- Сокеты: TCP/IP можно практически везде, Unix-domain - только в unix системах, но будет быстрее
- Сигналы: можно передавать данные вместе с сигналом, но только int/указатель, т.е. вариантов не много
- stdout/stdin: при создании дочернего процесса получить его stdout/stdin потоки и работать с ними
- Каналы: можно создать канал (анонимный или именованный) и общаться через него
- Внешний сервис для общения: какой нибудь RabbitMQ, но это чересчур
- Общая память (Shared Memory): но может не работать во некоторых ЯП
- Общение через файлы: один процесс пишет в файл и по окончании шлет сигнал другому процессу, который этот файл читает
- Memory Mapped File : тот же вариант, что и с файлами, но быстрее и при больших данных можешь словить OOM и большое потребление памяти
- ZeroMQ - это очередь сообщений, которая работает в user-space
Дополнительно надо помнить, что есть ограничения различных платформ, ОС, ЯП и некоторые варианты там работать не будут