Làm thế nào để lệnh hàng đầu của LỚN hiển thị kết quả trực tiếp?


9

Làm cách nào tôi có thể viết một tập lệnh shell hiển thị kết quả trong thời gian thực?

Một cái gì đó giống như toplệnh cập nhật kết quả sau một khoảng thời gian cố định.

văn bản thay thế


6
có thể sử dụng một cursesgiao diện ... nhưng tôi nghĩ đây là một câu hỏi lập trình nặng nề hơn và thuộc về SO
xenoterracide

Câu trả lời:



13

bạn có thể sử dụng lệnh watch (1) để chạy tập lệnh của mình theo định kỳ:

watch -n 1 myscript.sh

Thao tác này sẽ chạy myscript.shcứ sau 1 giây xóa màn hình giữa mỗi lần chạy và với dấu thời gian ở góc. Bạn có thể sử dụng -dtùy chọn và thậm chí nó sẽ làm nổi bật sự khác biệt về đầu ra trên mỗi lần chạy.


Tôi chỉ nghĩ làm thế nào để trả lời nó bằng đồng hồ.
Kevin M

Tôi không có watch. Bạn có thể đặc sắc hơn không? HĐH gì?
Chris Trang

2

Hầu hết các dữ liệu đó thường được phơi bày trong các nguyên hàm hệ thống tệp / Proc ảo. Mỗi quá trình có một mục trong / Proc trong một thư mục được gọi là PID. Vì vậy, / Proc / 5437 sẽ có các nguyên thủy cho quy trình 5437. Đọc các nguyên thủy ở đó và phân tích cú pháp một cách thích hợp sẽ giúp bạn gần với những gì hàng đầu làm.

Top thực sự hoạt động bằng cách gọi các cuộc gọi chức năng cụ thể trích xuất thông tin này trực tiếp từ kernel thay vì lấy nó từ các tệp. Để thực hiện tương tự từ bash, bạn phải kéo nó từ hệ thống tệp ảo / Proc hoặc trích xuất nó khỏi các cuộc gọi khác như đến ps.

Đối với thời gian thực, điều đó không hoàn toàn khả thi ở mức độ chi tiết hàng đầu cung cấp. Bạn có thể cắt thời gian đủ tốt để nó có vẻ là thời gian thực, nhưng bạn vẫn sẽ có được những lát cắt thời gian.


2

Erm, trong trường hợp bạn đang xem topđầu ra trong một thời gian dài hơn, và không chỉ để kiểm tra xem một chương trình có hoạt động tốt hay không, tôi khuyên bạn nên sử dụng htop .

Nó cung cấp cho bạn nhiều thông tin theo thời gian thực và dễ kiểm soát và quản lý hơn.

Bạn có thể thay đổi bố cục của đầu ra, chẳng hạn như biểu đồ thanh và cột.


Tôi tin rằng anh ấy đang hỏi làm thế nào để viết một ứng dụng thăm dò ý kiến ​​thường xuyên không phải về đầu trang hay htop cụ thể.
Chris

1

topsử dụng Curses và đọc /prochệ thống tập tin


1
Ngoại trừ trên các hệ thống không có /proc. Một cách khác để có được thông tin là sysctl (8) / sysctl (3).
Chris Trang
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.