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]