主な申請手続きレポートをこの形式でリストしたいと思います。
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