Protože nc
příkaz uvnitř <(...)
bude také číst ze stdin.
Jednodušší příklad:
$ nc -l 9999 >/tmp/foo &
[1] 5659
$ echo text | cat <(nc -N localhost 9999) -
[1]+ Done nc -l 9999 > /tmp/foo
Kde se vzal text
jít? Prostřednictvím netcat.
$ cat /tmp/foo
text
Váš program a nc
soutěžit o stejný stdin a nc
něco z toho dostane.
epoll() nebo poll() vracející se s E/POLLIN vám pouze sdělí, že single read() může neblokovat.
Ne, že budete moci provádět mnoho čtení() jednoho bajtu až do nového řádku, jak to děláte vy.
Říkám může protože read() po epoll() vrácené pomocí E/POLLIN může stále blokovat.
Váš kód se také pokusí přečíst minulé EOF a zcela ignoruje všechny chyby read().
Jak vygenerovat seznam *všech* dostupných příkazů a funkcí?
Vytiskněte čáry mezi počátečním a koncovým vzorem, ale pokud koncový vzor neexistuje, netiskněte