Myslim ze conntrack a grep bezia paralelne. conntrack vypisuje riadky bud na stdout alebo stderr, a tie sa hned spracovavaju.
V prvom pripade stdout ide do rury do grepu a az potom na terminal, a stderr z conntrack ide rovno na terminal. Takze zavisi od casovania v grepe, kam do stdout ten stderr trafi (inac povedane, grep sposobi nejake zdrzanie pre riadky zo stdout).
V druhom pripade stderr sa synchronne spoji so stdout, potom sa to cele posle ako jeden stream stdout do grepu, a nakoniec na terminal. grep urobi rovnake zdrzanie pre stdout aj pre stderr, (lebo riadky povodne z stderr su v stdout), a takisto na terminal idu spolu.
Trochu to cele moze skomplikovat to, ako sa jednotlive streamy flushuju - moze to premiesat poradie, ale system sa nezmeni.