FreeBSDでtopを使用したプロセスのフィルタリング

FreeBSDでtopを使用したプロセスのフィルタリング

topユーティリティを使用してプロセスとそのアクティビティを表示するときに、リストを名前でサブセットにフィルタリングするにはどうすればよいですか?

postgresたとえば、名前に含まれているプロセスを含むプロセスだけを見たい場合ですjava

私はFreeBSD 11.2を使用していますが、動作が異なる場合は、Unixバージョンの指示が役に立ちます。

私はこれを使用する方法を読んだ。

top -p $(pgrep -d',' postgres)

...しかし、エラーが発生します。

無効な変数名です。

答え1

top提供されるバリアントFreeBSDコアシステム含まないこの-pオプションは、擬似リアルタイムで監視するPIDのリストを選択するために使用されます。

ただし、htopパッケージはシステムにインストールできますFreeBSDシステムであり、とりわけ、このよりカラフルなトップバリアントには、必要な-pオプションがあります。

  • htop助ける:

htop使用法の観点から:

htop 2.2.0 - (C) 2004-2018 Hisham Muhammad
Released under the GNU GPL.

-C --no-color               Use a monochrome color scheme
-d --delay=DELAY            Set the delay between updates, in tenths of seconds
-h --help                   Print this help screen
-s --sort-key=COLUMN        Sort by COLUMN (try --sort-key=help for a list)
-t --tree                   Show the tree view by default
-u --user=USERNAME          Show only processes of a given user
-p --pid=PID,[,PID,PID...]  Show only the given PIDs
-v --version                Print version info
  • インストールするhtop

使用FreeBSDリポジトリ:

# pkg install htop

または経由ポート:

# cd /usr/ports/sysutils/htop
# make install clean

答え2

Topは最上位プロセスを表示するためのものなので、名前が付けられました。しかし、役に立つかもしれないいくつかの解決策があります。

出力をgrepにパイプできます。

top | grep postgres

-oフィールド名とともにフラグを試すことができます。

top -o pid

-iこれをフラグと組み合わせると、インタラクティブモードに入ることができます。

top -io pid

aここでは、プロセスタイトルやユーザーなどのさまざまなオプションを切り替えることができますu

オプションを組み合わせてみてください。

引用する

man top

Freebsd 11.2 リリース

関連情報