nethog 및 netperf의 Grep 값

nethog 및 netperf의 Grep 값

프로세스의 네트워크 활동과 연결 대역폭을 모니터링해야 합니다. 그래서 나는 값을 파일에 사용 nethog하고 netperf결합 grep하고 기록하기로 결정했습니다.awk

nethog명령: nethogs -t eth0 | grep firefox | awk '{ print $3 }'(업로드/다운로드 속도를 확인하고 싶습니다).첫 번째 문제그 명령은 아무것도 인쇄하지 않는다는 것입니다.

자세한 내용: 명령: nethogs -t eth0 | grep firefox출력:

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

오른쪽 하단에 두 개의 값을 원합니다. 그러나 출력이 일관되지 않음(공간)을 볼 수 있듯이 | awk '{print $3}' most of the time return nothing. 그리고 나는 이것을 고칠 수 없습니다.

netperf명령: netperf -H 192.168.1.10출력은 다음과 같습니다.

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**

오른쪽 하단의 값을 인쇄하고 싶은데 방법을 모르겠습니다. 그게 다야두 번째 문제=> fedorqui로 해결했습니다!

저 좀 도와주실 수 있나요? 어떤 아이디어라도 감사하겠습니다!

답변1

에 대한두 번째 문제, 넌 할 수있어:

your_command | tail -1 | awk '{print $NF}'

그러면 주어진 입력의 마지막 줄의 마지막 필드가 인쇄됩니다.

답변2

이것부터 시작해 봅시다:

nethogs -t eth0 | awk '/firefox/{ print $3 }'

netperf -H 192.168.1.10 | awk 'END{ print $NF }'

그래도 작동하지 않으면 awk 스크립트에 대한 샘플 입력, 예상 출력 및 설명을 제공하세요.

다음이 필요합니다.

netperf -H 192.168.1.10 | awk '{v=$NF} END{ print v }'

POSIX에서 END 섹션의 필드를 유지하는 데 필요하지 않기 때문에 일부 문제가 있습니다.

관련 정보