X-Server
獲取 gui 應用程序程序的報告
我想以這種格式列出主要應用程序程序報告
ps -e -o pid,comm,pmem,pcpu,uname
過濾主要的 GUI 應用程序
wmctrl -pl
是我獲得程序 ID 的唯一方法。如果xlsclients
可以使用它,那就太好了。它包含我想要的名字的真實列表。如何將它們組合為單個命令以根據需要獲取報告。(ps -p = xlsclients -p)
通常情況下,在 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