プロセスIDからウィンドウIDを取得する方法

プロセスIDからウィンドウIDを取得する方法

このコマンドは起動されたプロセスの PID を取得しますxterm

xterm & export APP_PID=$!

そのプロセスに関連付けられたウィンドウ ID (ウィンドウ ID) を取得するにはどうすればよいですか? つまり、ウィンドウをクリックした後に返されるxtermID です。xdotool selectwindowxterm

答え1

一致するウィンドウのリストは以下から取得できます。

 xdotool search --pid [pid]

参照xdotool help search

答え2

この簡単なコマンドを使用して、ウィンドウIDを16進形式で取得します。

wmctrl -l | grep -i xterm | awk '{print $1}'

10進数形式の場合、bcコマンドを使用して変換できます。

echo "ibase=16; `wmctrl -l | grep -i xterm | cut -c 3-11 | tr a-z A-Z`" | bc

答え3

「その他」のフォーラムで議論されています:

最初に、@パトリック指摘するxwininfo情報を返すことができます全てウィンドウ、および使用することでxprop_NET_WM_PID各ウィンドウについて、プロセス ID と照合してプロパティを確認できます。

関連情報