Alasannya karena pipa ditutup oleh grep ketika masih ada beberapa data untuk dibaca dari cat . Sinyal SIGPIPE ditangkap oleh kucing dan keluar.
Yang biasanya terjadi dalam pipeline adalah shell menjalankan cat dalam satu proses dan grep di tempat lain. Stdout dari cat terhubung ke ujung tulis pipa dan stdin dari grep sampai akhir baca. Yang terjadi adalah grep tekan pencarian pola yang tidak ada dan segera keluar menyebabkan ujung baca pipa ditutup, yang cat tidak suka karena memiliki lebih banyak data untuk ditulis ke pipa. Karena tindakan tulis terjadi pada ujung lain yang telah ditutup, SIGPIPE ditangkap oleh cat yang langsung keluar.
Untuk kasus sepele seperti itu, Anda dapat menghapus penggunaan pipa sama sekali dan menjalankannya sebagai grep "pattern" file.txt ketika konten file tersedia melalui stdin dari grep dari mana ia dapat membaca.