-
pipa tidak menyimpan data pada disk. /bin/gema foo | grep bar tidak membuat file apa pun. coba
strace -f sh -c '/bin/echo foo | grep bar'
untuk melihat semua panggilan sistem yang dilakukan oleh shell saat menjalankan saluran pipa.echo
adalah shell bawaan, jadi saya menyarankan/bin/echo
untuk membuat shell menjalankan executable. -
/tmp
tidak harus di disk. Itu dapat dipasang di tmpfs (yaitu didukung oleh memori virtual). Perhatikan bahwa reboot akan mengosongkan/tmp
dalam hal ini, jadi gunakan/var/tmp
untuk apa pun yang ingin Anda tinggalkan.
Jika yang Anda lakukan adalah memasukkan data ke dalam file, maka itu tidak menggunakan pipa. Jika file tersebut adalah file fifo, bukan file biasa, maka itu hanya nama rendezvous, dan tidak berisi data. Gunakan ls -l untuk mencari tahu.
Dan perhatikan bahwa jika Anda berharap untuk menghentikan pengguna melihat apa yang terjadi melalui pipa dalam proses yang mereka miliki, Anda cukup SOL, karena strace
dapat memeriksa semua yang dilakukan proses yang berinteraksi dengan apa pun di luar proses, kecuali untuk membaca/menulis memori bersama yang di-mmap. ltrace
bahkan lebih invasif. Jika program Anda akan berjalan pada sistem di mana pengguna lokal memiliki root, Anda tidak dapat menghentikannya sama sekali. Di Unix, root dapat melakukan apa saja, dan memiliki alat canggih untuk tujuan tersebut.