ดูคำสั่งน้อยที่สุดช่วง -n


24

ช่วงเวลาที่เล็กที่สุดสำหรับคำสั่ง watch คืออะไร?

หน้าคนและการค้นหาของ Google ไม่ได้ระบุขีด จำกัด ล่างที่เล็กที่สุดว่าเป็นอย่างไร ฉันพบว่าจากการทดลองอาจมีขนาดเล็กกว่า 1 วินาที

เพื่อทดสอบฉันรันคำสั่งนี้รันบนไฟร์วอลล์:

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

เห็นได้ชัดว่าอัปเดตเร็วกว่าหนึ่งวินาที แต่ไม่ชัดเจนว่าเป็นการอัปเดต 100 มิลลิวินาทีจริงๆ

คำตอบ:


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 สถานะ Man page: "[-n <seconds>] โดยค่าเริ่มต้นโปรแกรมจะทำงานทุก 2 วินาทีใช้ -n หรือ - ช่วงเพื่อระบุช่วงเวลาอื่น" ไม่ได้ระบุช่วงเวลาที่ต่ำที่สุด ขอขอบคุณสำหรับการชี้แจง.
Kyle

11

ที่จริงแล้วคุณอยู่ที่ขีด จำกัด หน้าคนไม่ให้ค่าที่น้อยที่สุด (อย่างน้อยในของฉัน 2009 รุ่นลินุกซ์) นี่มันไป:

-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โปรแกรมอรรถประโยชน์

ค่าที่น้อยที่สุดสำหรับ-nตัวเลือกคือ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.