hack のためのネタ帳, etc,,,

目的

Process Explorer の 「Find Window's Process (drag over window)」みたいに、X11 上の Window をマウスで指定して PID を調べたい。

方法

Linux window process」でググると以下のページを見つけた。

xprop(1) コマンドを使えば良いらしい。

以下のようにすると PID が得られるので ps に食わせるとよい。
xprop _NET_WM_PID

Linux だと以下のようにすれば、引数まで含めた実行時のコマンドライン全体が得られる。
xprop _NET_WM_PID | awk '$0=$NF' | xargs ps ho %a

ただし gnome-shell (例えばデスクトップのタスクバー等)のように
$ xprop
XdndProxy(WINDOW): window id # 0x120000d
みたいに XdndProxy の window id しか拾えないオブジェクトもあるので、そいうい場合は更に
$ xprop -id 0x120000d _NET_WM_PID
_NET_WM_PID(CARDINAL) = 2837
として window id から PID を拾い
$ ps ho %a 2837
/usr/bin/gnome-shell
としてやる必要があった。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

管理人/副管理人のみ編集できます