Bash:基于其标题的地址(kill)终端?

Bash:基于其标题的地址(kill)终端?,bash,terminal,kill,Bash,Terminal,Kill,我有几个终端从一个“基本”终端打开,使用gnome终端,使用PROMPT\u COMMAND='echo-ne'\033]0的特定标题;这里有一些标题\007'和执行内容 是否有可能在以后根据这些终端的标题(例如,执行特定的命令)或从“母”终端存储它们的“ID”,或至少在不再需要它们时杀死其中的某些终端 关于这起谋杀案,我至少可以假设,他们在top中的数量将按照他们被打开的顺序递增,但这并不是真正的防弹措施,因为途中可能会有另一个终端打开,甚至在两者之间 干杯 据我所知,这是不可能的。PROMP

我有几个终端从一个“基本”终端打开,使用
gnome终端
,使用
PROMPT\u COMMAND='echo-ne'\033]0的特定标题;这里有一些标题\007'
和执行内容

是否有可能在以后根据这些终端的标题(例如,执行特定的命令)或从“母”终端存储它们的“ID”,或至少在不再需要它们时杀死其中的某些终端

关于这起谋杀案,我至少可以假设,他们在
top
中的数量将按照他们被打开的顺序递增,但这并不是真正的防弹措施,因为途中可能会有另一个终端打开,甚至在两者之间


干杯

据我所知,这是不可能的。
PROMPT\u命令
用于gnome终端下运行的bash

最好使用终端的PID:

gnome-terminal &
first_teminal=$!
gnome-terminal &
second_terminal=$!
ps --tty pts/3 fw
  PID TTY      STAT   TIME COMMAND
 7528 pts/3    Ss     0:00 bash
 8769 pts/3    R+     0:00  \_ ps --tty pts/3 fw
等等,杀了他们

kill $first_terminal
1.使用
tty
显示伪设备id 您可以在提示中添加每个终端使用的伪终端设备的名称:

TTY=$(tty)
PROMPT_COMMAND='echo -ne "\033]0;'${TTY#/dev/}'|SOME TITLE HERE\007"'
这将添加类似于
pts/3 |一些标题…

从此处,您可以列出在此终端中执行的所有任务:

gnome-terminal &
first_teminal=$!
gnome-terminal &
second_terminal=$!
ps --tty pts/3 fw
  PID TTY      STAT   TIME COMMAND
 7528 pts/3    Ss     0:00 bash
 8769 pts/3    R+     0:00  \_ ps --tty pts/3 fw
2.使用
wmctrl
询问x-window-server 您可以(如果尚未安装,则安装)使用
wmctlr

wmctrl -pl | grep SOME\ TITLE
0x05600024  0   7524   hstnam SOME TITLE HERE

ps --ppid 7524 ho sid
 7528

ps --sid 7528 fw
  PID TTY      STAT   TIME COMMAND
 7528 pts/3   Ss     0:00 bash
13349 pts/3   R+     0:00  \_ ps --sid 7528 fw
对不起,我不明白。此gnome终端打开一个,另一行首先\u终端=$!似乎什么都不做,当键入kill$first|u terminal时,我只得到kill:用法:kill[-s sigspec |-n signum |-sigspec]pid | jobspec。。。或者杀死-l[sigspec]