Saya menemukan bahwa jika saya mentransfer sejumlah besar data antara dua proses melalui pipa, beberapa file sementara akan dibuat oleh linux di direktori / tmp. Jika operasi pipa berhasil, file sementara yang sesuai akan dihapus oleh OS secara otomatis. Tetapi jika operasi gagal, file tmp tetap ada.
Untuk beberapa alasan, saya tidak ingin pengguna memiliki kesempatan untuk mendapatkan data yang saya transfer melalui pipa, jadi saya tidak ingin ada yang tertinggal di harddisk walaupun program saya macet. Bagaimana saya bisa melakukan ini?
sender > filename
lalu receiver < filename
. Saya akan memeriksa file tmp selama kedua ops, untuk melihat apakah pengirim atau penerima melakukannya.
mkfifo
pipa -created tidak pernah melakukan buffering (sama sekali!) Dan tidak pernah membuat file.