如何通过在其中运行的进程 id 找到窗口(gnome-terminal)?

如何通过在其中运行的进程 id 找到窗口(gnome-terminal)?

gnome-terminal 可以打开多个窗口,并且一个窗口中可能有多个选项卡。

我想激活一个 gnome-terminal 窗口,该窗口的一个选项卡中运行着一个 bash,因为该 bash 的 CWD 会阻止我的便携式磁盘正确弹出。

我通过 lsof 发现 bash pid 是 25938。

在我的示例中,我发现有 5 个窗口,8 个选项卡。问题是如何确定 25938 在哪个窗口中,当然是通过 cmd。

$ echo $$
24674
$ ps --ppid $(pgrep gnome-terminal) 
  PID TTY          TIME CMD
 6080 pts/0    00:00:00 bash
 6742 pts/1    00:00:00 bash
20340 pts/5    00:00:00 bash
23354 pts/7    00:00:00 bash
24674 pts/8    00:00:00 bash
25938 pts/9    00:00:00 bash
30028 pts/12   00:00:00 bash
30492 pts/13   00:00:00 bash
$ wmctrl -lp | grep "$(pidof gnome-terminal-server)"
0x02800006  0 6070   bill me@bill: ~/m
0x0281016b  0 6070   bill me@bill: ~/c
0x02824e87  0 6070   bill me@bill: /c
0x02827a5d  0 6070   bill me@bill: ~/b
0x0282bc75  0 6070   bill me@bill: ~/a

相关内容