하나의 특정 프로세스를 제외한 모든 프로세스에서 인터넷 대역폭이 얼마나 사용되는지 확인하는 방법은 무엇입니까?

하나의 특정 프로세스를 제외한 모든 프로세스에서 인터넷 대역폭이 얼마나 사용되는지 확인하는 방법은 무엇입니까?

후속 질문으로이것:

인터넷을 사용하는 컴퓨터의 다운로드 속도를 제한하는 매개변수를 curl사용하여 여러 원격 컴퓨터에 파일을 다운로드하는 명령을 사용하고 있습니다 .--limit-rate

컬 --속도 제한 10k -r 104857601-209715200 -o distro2.iso 'http://files.cdn/distro.iso'

따라서 각 컴퓨터의 인터넷 사용량을 주기적으로(예: 5초마다) 모니터링하고 --limit-rate사용자가 인터넷을 사용하는 시간을 동적으로 줄이고 인터넷 사용량이 유휴 상태일 때 늘려야 합니다. 따라서 내가 알아야 할 유일한 것은 원격 컴퓨터 사용자가 인터넷을 사용하고 있는지(예: 웹 검색 또는 파일 다운로드)입니다. 이것을 쉽게 알아낼 수 있는 방법이 있나요? curl다른 응용 프로그램이 인터넷을 사용하고 있는지 확인하려면 PID를 가져와서 인터넷을 사용하는 응용 프로그램 목록에서 제외해야 할 것 같습니다 . 어떤 명령을 사용하는 것이 더 좋은지 모르겠습니다. sudo 권한이 필요하지 않은 명령을 사용하는 것이 좋습니다. 어떤 조언이라도 대단히 감사하겠습니다!

답변1

나는 ifconfig를 실행하고 바이트 표시를 사용하여 폴링(5초 또는 기타) 동안 소비된 평균 대역폭을 계산하는 Perl 스크립트를 작성한 적이 있습니다. 따라서 현재 컬이 실행되는 속도를 알고 있다고 가정하면 해당 기간(10k x 5초)의 속도를 공제하고 다른 일이 발생하는지 확인할 수 있습니다. 그런 다음 필요에 따라 속도를 조정하십시오. 비슷한 것을 시도하고 싶다면 Perl 스크립트에 대한 링크를 제공할 수 있습니다.

관련 정보