結果を絞り込むトップ注文を受けたウィンドウでフィルタリングをタップし、o
ここのチュートリアルで説明されているようにフィルタを入力します。http://man7.org/linux/man-pages/man1/top.1.html
COMMAND=iTerm2
ただし、たとえば、別のコマンドを入力するとinvalid order
エラーが発生します。
ここで問題のアニメーションGIFを見ることができます:https://i.stack.imgur.com/Qhhtl.jpg
- オペレーティングシステム:Mac OS Catalinaバージョン:10.15.2
答え1
o
フィルタがオンになっていないBSDトップ、これは一種です。
o Change the order in which the display is sorted. The sort key
names include cpu, res, size, time. The default is cpu.
必要な方法でフィルタリングする方法があるかどうかはわかりません。
o
したがって、押してEnterを押すことができますが、COMMAND
動作COMMAND=iTerm2
しません。
あるいは、単一のPIDをフィルタリングするオプションをtop
使用して実行できますが、iTerm2は複数のプロセスを実行できます。-pid
top -pid $(pgrep iTerm2 | head -1)
答え2
Mac端末のZshでは、topコマンドはOPの質問からわかるように、従来のLinux実装とは多くの違いがあります。すべてのiTerm2プロセスをフィルタリングするための良いソリューションを見つけました。
top -pid $(pgrep -d " -pid " iTerm2)
フラグで区切られたPIDのリストを返します-pid
。最初の-pid
フラグはデフォルトの初期PIDを含みます。
編集:私はこの方法を使いやすくしたいので、zsh関数を作成しましたtopg
。私のシェルスクリプトへのフィードバックを歓迎します。デフォルトでは、[-g|--grep] フラグが追加されたトップラッパーです。変更したらアップデートを公開します。
使用法については、スペースで区切られたさまざまなプロセス名の文字列を渡したり、複数のフラグを一緒に追加したりできます。 top が応答する他のコマンドは渡されます。
使用例:
topg -g ssh --grep firefox -g "WindowServer Gitify"
function topg () {
emulate -L zsh
zmodload zsh/zutil || return
# Default option values can be specified as (value).
local help filter_commands
zparseopts -D -F -K -a -- \
{h,-help}=help \
{g,-grep}+:=filter_commands || return
if (( $#help )); then
local top_help=`top -h`
local lines
lines=( ${(f)top_help} )
lines[1]=${lines[1]:gs/top/tops}
lines[3]=(${lines[3]}, "$(echo "\t\t")[-g <pattern> [<pattern2>] | --grep <pattern> [<pattern2>]]")
print -rC1 -- \
${(F)lines}
return
fi
if (( $#filter_commands )); then
local -a array
local flag vals
for flag vals in "${(@)filter_commands}"; do
array+=(${=vals})
done
eval "top -pid $(pgrep -d " -pid " "${(@)array}") "${@:1}""
return
else
eval "top "${@:1}""
return
fi
}
私が言ったように、私はどんなフィードバックでも歓迎します。