GUIアプリケーションプロセスに関するレポートを入手する

GUIアプリケーションプロセスに関するレポートを入手する

主な申請手続きレポートをこの形式でリストしたいと思います。

ps -e -o pid,comm,pmem,pcpu,uname

基本的なGUIアプリケーションをフィルタリングすることがwmctrl -plプロセスIDを取得する唯一の方法です。xlsclientsそれがうまくいけばいいでしょう。私が望む本名のリストが含まれています。

目的のレポートを取得するために単一のコマンドにまとめるにはどうすればよいですか? (ps -p = xlsclients -p)

ベストアンサー1

通常、Unixではコマンドを一緒に接続し、多くのコマンドは、他のコマンドで生成された出力で使用できるように特別に書かれています。

幸いなことに、出力を取得して解析してxlsclientsコマンド名のみを表示することができます。その後、この情報をpsコマンドに渡して目的の出力を取得できます。

$ xlsclients
dufresne  conky -c /home/slm/.conky/b.conf
dufresne  cinnamon-session
dufresne  cinnamon-settings-daemon
dufresne  csd-locate-pointer
dufresne  clipit

$ xlsclients | cut -d" " -f3 | paste - -s -d ','
conky,cinnamon-session,cinnamon-settings-daemon....

その後、このプロセス名のリストを-Cスイッチに提供できますps

$ ps -o pid,comm,pmem,pcpu,uname \
    -C $(xlsclients | cut -d" " -f3 | paste - -s -d ',')

メモ:-eこれでリストが提供されたので、このスイッチを削除しましたps

はい

$ ps -o pid,comm,pmem,pcpu,uname \
    -C "$(xlsclients | cut -d" " -f3 | paste - -s -d ',')" | head 
  PID COMMAND         %MEM %CPU USER
 1998 cinnamon-launch  0.2  0.0 slm
 2031 cinnamon         6.5  0.7 slm
16736 cinnamon-launch  0.3  0.0 slm
16738 cinnamon         6.1  2.7 slm
16994 cinnamon-sessio  0.2  0.0 slm
17231 cinnamon-settin  0.4  0.0 slm
17293 csd-locate-poin  0.2  0.0 slm
17331 nm-applet        0.3  0.0 slm
17339 clipit           0.2  0.1 slm

おすすめ記事