top -c
Atas daftar semua proses, ada opsi yang baik untuk memfilter proses dengan nama pengguna dengan menggunakan opsi -u tapi saya bertanya-tanya apakah ada cara mudah untuk menyaring proses berdasarkan nama proses yang tercantum di bawah kolom PERINTAH dari output teratas.
Sebagai contoh saya ingin seperti opsi top -some -substring dari processname dan menampilkan top pids hanya memiliki substring ini dalam nama perintahnya
linux
unix
process
top-command
alex
sumber
sumber
top: pid limit (20) exceeded
jadi saya menggunakan ini:top -c -p $(pgrep -f string_to_match_in_cmd_line | head -20 | tr "\\n" "," | sed 's/,$//')
.Itu bisa dilakukan secara interaktif
Setelah berjalan
top -c
, tekan odan tulis filter pada kolom, mis. Untuk menunjukkan baris di mana kolom PERINTAH berisi string foo, tulisCOMMAND=foo
Jika Anda hanya ingin beberapa output dasar, ini mungkin cukup:
sumber
top -bc -n 1
lebih nyaman, karena membatasi jumlah iterasi ke 1.top -c , hit o and write a filter on a column
.Anda dapat menambahkan filter
top
saat sedang berjalan, cukup tekan otombol lalu ketik ekspresi filter. Misalnya, untuk memantau semua proses java gunakan ekspresi filterCOMMAND=java
. Anda dapat menambahkan beberapa filter dengan menekan tombol lagi, Anda dapat memfilter menurut pengguna dengan ukunci, dan Anda dapat menghapus semua filter dengan =kunci.sumber
top -c -p 920,1345,1346
yang diperbaiki.o
sebagai filter tidak ada di beberapa versi teratas (yang lebih lama):top: procps version 3.2.8
Filter pengguna ada, sehingga berfungsi.Perintah @ perreal bekerja sangat baik! Jika Anda lupa, coba dalam dua langkah ...
contoh: filter atas untuk hanya menampilkan aplikasi yang disebut yakuake:
perintah interaktif atas yang berguna 'c': beralih jalur penuh vs nama perintah 'k': bunuh dengan PID 'F': filter dengan ... pilih dengan panah ... lalu tekan 's' untuk mengatur jenis
jawabannya di bawah juga bagus ... Saya mencari itu hari ini tetapi tidak dapat menemukannya. Terima kasih
sumber
Setelah mencari begitu banyak jawaban di StackOverflow, saya belum melihat jawaban yang sesuai dengan kebutuhan saya.
Artinya, untuk membuat perintah teratas untuk tetap menyegarkan dengan kata kunci yang diberikan, dan kita tidak perlu CTRL + C / atas lagi dan lagi ketika proses baru muncul.
Jadi saya membuat yang baru ...
Ini dia versi no-restart-diperlukan.
Ubah kata sandi __ dan itu akan berfungsi. (Ubuntu 2.6.38 diuji)
2.14.2015 menambahkan: Bagian beban kerja sistem tidak ada dengan kode di atas. Untuk orang yang peduli dengan bagian "rata-rata beban":
sumber
bagaimana dengan ini?
sumber
Saya akhirnya menggunakan skrip shell dengan kode berikut:
sumber
Sebagian besar jawaban gagal di sini, ketika daftar proses melebihi 20 proses. Itu adalah
top -p
batas opsi. Bagi mereka dengan top yang lebih tua yang tidak mendukung pemfilteran dengano
opsi, berikut adalah contoh skrip untuk mendapatkan outuput layar / konsol penuh (informasi ringkasan tidak ada pada output ini).Beberapa penjelasan
sumber
Di
htop
, Anda cukup mencarisumber