Зависит от приложения. Если это недолговечный инструмент командной строки, то модель read-from-stdin / write-to-stdout работает отлично. grep / sed / awk / perl позаботится о пост-обработке данных. Если это демон, то пятно или сокет может быть хорошей идеей, хотя вам придется подумать о протоколе клиент-сервер в этом потоке. Если вы сделаете еще один шаг вперед, предоставив библиотеку, которая знает этот протокол и дает разработчику приложения какой-то непротиворечивый набор функций для взаимодействия с вашим приложением, это настоящий API. Это классический клиент-сервер, так работает, например, большинство баз данных.