Viele Terminal-Emulatoren (einschließlich rxvt, xterm, gnome-terminal und konsole; ich habe es nicht mit roxterm getestet) setzen die Umgebungsvariable WINDOWID
auf die ID des Fensters, in dem der Subprozess (z. B. die Shell) gestartet wurde.
</proc/$pid/environ tr \\0 \\n | sed -n 's/^WINDOWID=//p'
sagt Ihnen, in welchem Fenster $pid
läuft.
Dies funktioniert nicht, wenn der Prozess zwischen Fenstern migriert wurde, z. B. wenn er unter dem Bildschirm ausgeführt wird oder wenn Sie Registerkarten zwischen Fenstern migriert haben.