Bagaimana saya bisa menulis skrip shell yang menunjukkan hasil secara real time?
Sesuatu seperti top
perintah yang memperbarui hasil setelah beberapa interval waktu yang tetap.
Bagaimana saya bisa menulis skrip shell yang menunjukkan hasil secara real time?
Sesuatu seperti top
perintah yang memperbarui hasil setelah beberapa interval waktu yang tetap.
curses
antarmuka ... tapi saya pikir ini lebih merupakan pertanyaan pemrograman dan milik SOJawaban:
Ini akan membantu jika Anda jauh lebih spesifik tentang apa yang Anda coba lakukan.
Ini adalah contoh yang sangat sederhana:
sumber
Anda dapat menggunakan perintah arloji (1) untuk menjalankan skrip Anda secara berkala:
Ini akan berjalan
myscript.sh
setiap 1 detik, membersihkan layar di antara setiap proses dan dengan cap waktu di sudut. Anda dapat menggunakan-d
opsi dan bahkan akan menyoroti perbedaan dalam output per run.sumber
watch
. Bisakah kamu lebih spesifik? OS apa?Sebagian besar dari data itu umumnya diekspos di / proc virtual file-system virtual. Setiap proses memiliki entri dalam / proc dalam direktori yang disebut PID. Jadi / proc / 5437 akan memiliki primitif untuk proses 5437. Membaca primitif di sana dan menguraikannya dengan tepat akan membuat Anda lebih dekat dengan apa yang dilakukan top.
Top sebenarnya bekerja dengan memanggil panggilan fungsi tertentu yang mengekstrak informasi ini langsung dari kernel alih-alih menariknya dari file. Untuk melakukan hal yang sama dari bash Anda harus menariknya dari sistem file virtual / proc, atau mengekstraknya dari panggilan lain seperti ke
ps
.Sedangkan untuk real-time, itu tidak bisa dilakukan pada tingkat detail yang disediakan top. Anda dapat mengiris waktu dengan cukup baik sehingga tampak real-time, tetapi Anda masih akan mendapatkan irisan waktu.
sumber
Eh, kalau-kalau Anda melihat
top
output untuk waktu yang lebih lama, dan tidak hanya untuk memeriksa apakah suatu program baik-baik saja, saya sarankan menggunakan htop .Ini memberi Anda banyak informasi waktu nyata dan lebih mudah untuk mengontrol dan mengelola.
Anda dapat mengubah tata letak output, seperti grafik batang dan kolom.
sumber
top
menggunakan Kutukan dan membaca/proc
sistem filesumber
/proc
. Cara lain untuk mendapatkan informasi adalah sysctl (8) / sysctl (3).