Process-Management

列出所有視窗的執行命令

  • December 22, 2021

您可以使用以下命令列出每個寡婦的程序 ID:

wmctrl -lp

是否存在顯示running command每個視窗的命令(有點像 htop 有一個“命令”列)?

如果沒有,您如何結合命令最終實現這一目標?

如果找到,這將用相應的命令替換 pidwmctrl -lp的輸出:

wmctrl -lp | awk '{ pid=$3; cmd="ps -o comm= " pid; while ((cmd | getline command) > 0) { sub(" " pid " ", " " command " ") }; close(cmd) } 1'

這顯然不適用於顯示遠端程序的視窗;在某些情況下(例如Flatpak),它還會為對應於沙盒程序的視窗給出奇怪的結果。

AWK腳本讀取每一行,提取pid,執行ps -o comm=確定對應的命令;如果找到一個,它將用命令替換相應的 pid 字元串。

引用自:https://unix.stackexchange.com/questions/683514