¿Por qué no se codifica la salida del programa?

¿Por qué no se codifica la salida del programa?

Cuando corro sudo wpa_supplicant -Dwext -iwlan3 -cwifi.conf 2>&1me sale:

Successfully initialized wpa_supplicant
ioctl[SIOCSIWAP]: Operation not permitted
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
wlan3: Trying to associate with 9c:3d:cf:fb:95:96 (SSID='Bell514' freq=2462 MHz)
wlan3: Association request to the driver failed
wlan3: Associated with 9c:3d:cf:fb:95:96
wlan3: Authentication with 9c:3d:cf:fb:95:96 timed out.

Sin embargo, cuando corro:

sudo wpa_supplicant -Dwext -iwlan3 -cwifi.conf 2>&1 | grep --line-buffered wlan3

solo me sale:

ioctl[SIOCSIWAP]: Operation not permitted
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument

¿No estoy redirigiendo stderrcorrectamente?

Respuesta1

El consumidor de canalización, grep, tiene un búfer de línea. Pero esto no afecta al productor de pipas. Una vez que ajuste ese lado de la tubería, grep producirá el resultado deseado.

información relacionada