Ubuntu 18.04を使用しています。私は始めることができることをすでに知っていますhtop
。その後、F4を押してフィルタリングし、プロセス名検索クエリ(gphoto2
findgvfs-gphoto2-volume-monitor.service
など)を入力または貼り付けて、htopを使用して表示されたプロセスをフィルタリングできます。そのようなプロセスがなければ、後で何も表示されません。開始、htop
後で表示されます。
htop
それでは、コマンドラインからフィルタリングを始めましょう。たとえば、次のようになります。
htop --filter="gphoto2"
...F4を押して端末UIに入力するのとまったく同じ動作をします。これは、コマンドがセッションに統合されている場合に便利ですtmux
。
探してみましたが、man htop
残念ながらそのようなコマンドライン/オプションを見ることはできません。私が見た最も近いもの-p
はで述べたようにフィルタに一致しない*ない*プロセスのみを表示するには?:
それはまるで
htop -p "$(pgrep -vfd, 'java|python')"
これは、htopの実行開始後に開始されたプロセスを考慮しないという明らかな欠点がある。
それでは、起動時にコマンドラインでプロセス名フィルタリングを設定して、新しく終了または生成されたプロセスを考慮するように(htop
端末UIでF4を押すのと同じように)htop
、またはtop
他の同様のプログラムに設定する方法はありますか?
答え1
さて、今は2021年3月25日で、私はArchでhtopバージョン3.0.5を実行しており、--filter test
すべてがうまく動作しています-F test
。これはマニュアルページに含まれています:--filter="test"
-F="test"
COMMAND-LINE OPTIONS
[...]
-F --filter=FILTER
Filter processes by command
答え2
答え3
私もこのオプションを探しましたが、存在しません。私は(あなたのクエリを使って)次のように決めました:
\# ps -aux |grep "[0-9] gphoto2"
答え4
あなたのコマンドは以前のバージョンでは機能しません。おそらくそのコマンドがあります。たぶんあなたも私のようにレガシーシステムを通して道を見つけようとしています。許可された回答はすでに正しいと言っており、以前のバージョンにのみ問題があります。例を通して証明されています。
$ htop -v
htop 1.0.1 - (C) 2004-2011 Hisham Muhammad
Released under the GNU GPL.
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.5 LTS
Release: 12.04
Codename: precise
$ htop --filter test
htop: unrecognized option '--filter'
$ htop --filter "test"
htop: unrecognized option '--filter'
$ htop -F test
htop: invalid option -- 'F'
$ htop -F "test"
htop: invalid option -- 'F'
そして他の答え+コメントから:
$ htop -p $(pgrep -d',' -f "test")
htop: invalid option -- 'p'
$ top -p $(pgrep -d',' -f "test")
--works--