Sortof, pipeline bekerja seperti ini: pertama mengeksekusi perintah pertama dan kemudian perintah kedua dalam kasus Anda.
Artinya, mari kita A|Bmenjadi perintah yang diberikan. Maka tidak pasti apakah dimulai Aatau tidak B. Mereka mungkin mulai pada waktu yang sama persis jika ada beberapa CPU. Sebuah pipa dapat menampung jumlah data yang tidak ditentukan tetapi terbatas.
Jika B mencoba membaca dari pipa, tetapi tidak ada data yang tersedia, Bakan menunggu sampai data tiba. Jika Bsedang membaca dari disk, Bmungkin memiliki masalah yang sama dan perlu menunggu sampai disk selesai dibaca. Analogi yang lebih dekat adalah membaca dari keyboard. Di sana, Bperlu menunggu pengguna mengetik. Tetapi dalam semua kasus ini, B telah memulai operasi "baca" dan harus menunggu sampai selesai. Tetapi jika Bsuatu perintah sedemikian rupa sehingga hanya membutuhkan sebagian output Akemudian setelah titik tertentu Bdi mana level input tercapai, Aakan dibunuh oleh SIGPIPE
Jika Amencoba menulis ke pipa dan pipa penuh, Aharus menunggu beberapa ruang di pipa menjadi bebas. Abisa memiliki masalah yang sama jika sedang menulis ke terminal. Terminal memiliki kontrol aliran dan dapat memoderasi laju data. Bagaimanapun, untuk A, ia telah memulai operasi "tulis" dan akan menunggu sampai operasi penulisan selesai.
Adan Bberperilaku sebagai proses bersama, meskipun tidak semua proses bersama akan berkomunikasi dengan pipa. Tidak ada yang memegang kendali penuh atas yang lain.
-margumen.