Используйте pipe
, где это возможно, если только вы не ожидаете, что большое количество входных данных будет накапливаться в потоке без чтения. Канал хранит данные в оперативной памяти, где временный файл требует операций файловой системы. fdsync
для файла будет намного дороже, чем для канала. Труба также менее уязвима для проблем безопасности, вызванных условиями гонки.
Если ваше приложение не может использовать семантику канала (для его вывода требуется путь к файловой системе или аналогичная проблема), попробуйте использовать «именованный канал» (также называемый FIFO).