Pemipaan bekerja dengan menghubungkan keluaran dari satu proses A ke masukan dari B. Sambungan dapat diputus, kapan
- A menutup keluarannya. B akan mendapatkan EOF.
- B menutup masukannya. A akan mendapatkan kesalahan bahwa keluaran tidak lagi tersedia saat mencoba menulis byte berikutnya.
Karena kedua kasus ini sangat umum, penanganannya telah dipindahkan ke lib standar C.
head
menutup file input setelah membaca jumlah yang diperlukan. ketika pipa ditutup dari satu sisi, sisi lain mendapat kesalahan tulis; ini menyebabkan base64
untuk menutup, yang pada gilirannya menyebabkan cat
untuk menutup.
Setelah base64
menghasilkan 10 byte, head
mendapat masukan dan keluaran yang cukup. Ketika yang pertama mencoba untuk mengeluarkan lebih banyak byte, itu akan menerima sinyal SIGPIPE dan karenanya keluar juga。Untuk alasan yang sama, cat
akan keluar secara bergantian.
pengenal yang diharapkan sebelum konstanta string
Urutan Linux tidak berfungsi dengan angka float negatif