가장 작은 시계 명령 -n 간격


24

watch 명령의 최소 간격은 얼마입니까?

맨 페이지와 Google 검색에는 가장 작은 간격 하한이 표시되지 않습니다. 실험을 통해 1 초보다 작을 수 있음을 알았습니다.

테스트하기 위해 방화벽에서이 명령을 실행했습니다.

watch -n 0.1 cat /sys/class/net/eth1/statistics/rx_bytes

1 초보다 빠르게 업데이트되지만 실제로 100ms 업데이트를 수행하고 있는지 확실하지 않습니다.

답변:


22

어떤 플랫폼에 있습니까?

내 Linux (Ubuntu 14.10)에서 매뉴얼 페이지 는 다음과 같이 말합니다.

 -n, --interval seconds
          Specify  update  interval. The  command will not allow quicker
          than 0.1 second interval, in which the smaller values  are  con‐
          verted.

방금 타임 스탬프를 마이크로 초로 인쇄하는 C 프로그램을 호출하는 스크립트로 이것을 테스트했습니다.


1
플랫폼은 CentOS 6.6입니다. 매뉴얼 페이지 상태 : "[-n <seconds>] 기본적으로 프로그램은 2 초마다 실행됩니다. -n 또는 --interval을 사용하여 다른 간격을 지정하십시오." 가장 낮은 간격을 지정하지 않습니다. 설명해 주셔서 감사합니다.
Kyle

11

실제로, 당신은 한계에 있습니다. 맨 페이지 최소한의 가치를 제공합니다 (최소한 2009, Linux 버전에서는). 여기 간다:

-n, --interval seconds
Specify update interval. The command will not allow quicker 
than 0.1 second interval, in which the smaller values are converted.

date통해 watch다음 을 사용하여 확인할 수 있습니다 .

$ watch -n0.1 date +'%H:%M:%S:%N'

마지막 필드의 첫 번째 숫자 (나노초)를 보면 빠르게 증가하는 것을 볼 수 있습니다. 즉 watch, 모든 반복에 대해 ~ 100ms가 추가됩니다.


10

watch명령은 procps 유틸리티에 포함되어 있습니다.

-noption 의 가장 작은 값은 0.1입니다. 시계 소스에 하드 코드되어 있습니다 ( 171-172 행 참조) .

case 'n':
    {
        char *str;
        interval = strtod(optarg, &str);
        if (!*optarg || *str)
            do_usage();
        if(interval < 0.1)
            interval = 0.1;
        if(interval > ~0u/1000000)
            interval = ~0u/1000000;
    }
    break;
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.