Как получить идентификатор окна из идентификатора процесса

Как получить идентификатор окна из идентификатора процесса

Эта команда получит PID xtermзапущенного процесса:

xterm & export APP_PID=$!

Как мне получить идентификатор окна, связанный с этим процессом ( xtermидентификатор окна)? Я имею в виду идентификатор, который xdotool selectwindowбудет возвращен после нажатия на xtermокно.

решение1

Список соответствующих окон можно получить через

 xdotool search --pid [pid]

также смxdotool help search

решение2

Я воспользуюсь этой простой командой, чтобы получить идентификатор окна в шестнадцатеричном формате.

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

Для десятичного формата 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, сопоставив его с вашим идентификатором процесса.

Связанный контент