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

答え2

$ ps -o pid,comm,pmem,pcpu,uname \-C "$(xlsclients | cut -d" " -f3 | Paste -s -d ',')" |ヘッダー PID コマンド %MEM %CPU ユーザー 1998 Cinnamon開始 0.2 0.0 slm 2031 cinnamon 6.5 0.7 slm 16736 cinnamon 開始 0.3 0.0 slm 16738 cinnamon 6.1 2.7 slm 16994 cinnamon セッション 0.2 0.0 slm 0.0 293 csd-locate -point 0.2 0.0 slm 17331 nm アプレット 0.3 0.0 slm 17339 クリップ 0.2 0.1 slm

関連情報