Necesito monitorear las actividades de red de un proceso y el ancho de banda de la conexión. Entonces decidí usar nethog
, netperf
combinar grep
y awk
escribir los valores en un archivo.
nethog
comando: nethogs -t eth0 | grep firefox | awk '{ print $3 }'
(quiero tomar la velocidad de carga/descarga).El 1er problemaes que el comando no imprime nada.
Más detalles: comando: nethogs -t eth0 | grep firefox
salida:
usr/lib/firefox/firefox-bi�)/4956/1000 0.338867 0.239063
/usr/lib/firefox/firefox-bi�)/4956/1000 0.543555 0.274219
/usr/lib/firefox/firefox-bi�)/4956/1000 0.794531 0.489844
/usr/lib/firefox/firefox-bi�)/4956/1000 0.794531 0.489844
/usr/lib/firefox/firefox-bi�)/4956/1000 0.749023 0.589844
/usr/lib/firefox/firefox-bi�)/4956/1000 1.30098 3.47617
/usr/lib/firefox/firefox-bi�)/4956/1000 1.90449 8.0127
/usr/lib/firefox/firefox-bi�)/4956/1000 5.31641 25.0033
/usr/lib/firefox/firefox-bi�)/4956/1000 8.60762 42.0176
Quiero los dos valores en la parte inferior derecha. Pero como puede ver, el resultado no es consistente (el espacio), agregue | awk '{print $3}' most of the time return nothing
. Y no puedo arreglar esto.
netperf
comando: netperf -H 192.168.1.10
y la salida es:
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
524288 524288 262144 10.00 **718.62**
Quiero imprimir el valor en la parte inferior derecha pero no tengo idea de cómo hacerlo. Eso es2do problema=> resuelto por fedorqui!
¿Pueden ayudarme? ¡Cualquier idea será apreciada!
Respuesta1
Para el2do problema, tu puedes hacer:
your_command | tail -1 | awk '{print $NF}'
Esto imprimirá el último campo de la última línea de la entrada dada.
Respuesta2
Empecemos con esto:
nethogs -t eth0 | awk '/firefox/{ print $3 }'
netperf -H 192.168.1.10 | awk 'END{ print $NF }'
Si no funcionan, proporcione información de muestra para los scripts awk, resultados esperados y explicaciones.
Necesitarías:
netperf -H 192.168.1.10 | awk '{v=$NF} END{ print v }'
con algunos awks ya que POSIX no los exige para conservar los campos en la sección FINAL.