Я виявив, що якщо я перенесу велику кількість даних між двома процесами через pipe, Linux створить якийсь тимчасовий файл у каталозі / tmp. Якщо робота з трубою пройде успішно, відповідний тимчасовий файл буде видалений ОС автоматично. Але якщо операція не вдалася, файл tmp залишається там.
З якоїсь причини я не хочу, щоб користувач мав можливість отримувати дані, які я передавав trhough pipe, тому я не хочу нічого залишати на жорсткому диску, навіть якщо моя програма вийшла з ладу. Як я можу це зробити?
sender > filename
тоді receiver < filename
. Я б перевірив наявність файлу tmp під час обох операцій, щоб побачити, чи це робить відправник чи отримувач.
mkfifo
створена труба ніколи не робить буферизацію (зовсім!) І ніколи не створює файли.