在 xdotool 的联机帮助页中
getwindowpid [window]
输出PID拥有给定的窗口。这需要拥有窗口的应用程序的努力,并且可能不适用于所有窗口。这使用窗口的 _NET_WM_PID 属性。有关详细信息,请参阅下面的“扩展窗口管理器提示”。
当一个进程被称为拥有一个窗口时,这是什么意思?对此我有几个猜测:
该进程是创建该窗口的进程吗?
窗口不是进程,因此所有权不能暗示进程之间的父子关系。
进程的窗口和同一进程(会话)的控制终端之间有什么关系?进程的窗口是否与终端相关信号(SIGINT、SIGHUP、SIGQUIT)相关?
谢谢。
答案1
从莫斯维的评论:
任何 X11 客户端都可以将任何窗口上的 _NET_WM_PID 属性设置为其喜欢的任何值,例如 xprop -id $WINDOWID -f _NET_WM_PID 32c -set _NET_WM_PID 1 不会让您的终端窗口归 init 所有。进程和/或 X11 客户端不拥有窗口