cara menampilkan hanya proses * tidak * cocok dengan filter?

12

Saya menggunakan htopuntuk memonitor proses saya secara interaktif.

Namun, kadang-kadang beberapa proses "menghalangi" dan saya ingin menyaringnya.

Sayangnya, tampaknya filter bawaan htop (mis. F4) Hanya memungkinkan saya untuk mendefinisikan filter positif (hanya kecocokan yang akan ditampilkan), dan bukan filter negatif (semua kecuali kecocokan ditampilkan).

Akhirnya, saya belum menemukan dokumentasi tentang sintaks sebenarnya dari string-pencarian ( regex tampaknya tidak berfungsi).

umläute
sumber
AFAIK tidak mungkin. Ada alasan bagus untuk tidak menggunakan top? Anda dapat melakukannya dengan mudah dengan itu.
sebelk
Pemfilteran htop FWIW harus segera mendapatkan pemfilteran regex, ada permintaan tarik yang lengkap namun masih tanpa permisi di GitHub. github.com/hishamhm/htop/pull/428
Richard Michael

Jawaban:

5

Saya tidak tahu apakah itu bisa dilakukan htoptetapi jika menggunakan topimplementasi lain adalah sebuah pilihan, dengan topimplementasi di procpsLinux (umumnya implementasi default di sana), dari dalam top, Anda dapat

  1. masukkan o(atau Ountuk pencocokan case-sensitive)
  2. masukkan !COMMAND=notwanted(atau !USER=unwanted)

untuk menyaring proses yang namanya (atau baris perintah setelah menekan c) berisi notwanted(atau yang berisi nama pengguna unwanted). Masuk =untuk menghapus semua filter.

Anda dapat memfilter pada salah satu bidang yang Anda inginkan, tetapi hanya ketika mereka ditampilkan. Misalnya, untuk mengecualikan tugas-tugas kernel, Anda dapat meminta CODEkolom untuk ditampilkan (dengan f) dan kemudian memfilter CODE>0(dengan o).

Perhatikan bahwa antarmuka default topimplementasi itu mungkin terlihat lebih kasar daripada htop, tetapi sebenarnya memiliki fitur yang jauh lebih banyak (dan Anda dapat mengonfigurasinya dengan warna dan informasi tambahan jika perlu).

Stéphane Chazelas
sumber
2

Tidak tahu cara langsung dengan htop

Namun Anda mungkin dapat menggunakan kemampuan meniadakan pgrepdan memberi makan daftar pidhtop

Sesuatu seperti

htop -p "$(pgrep -vfd, 'java|python')"

Ini jelas memiliki kerugian karena tidak memperhitungkan proses yang dimulai setelah htopmulai berjalan

iruvar
sumber
1
ide yang bagus, tapi yang benar-benar ingin saya lakukan adalah menyaring proses "sampah" ketika saya melihatnya; jadi solusi Anda tidak benar-benar "interaktif" dalam pengertian itu ...
umläute