我有几个终端从" base"一个使用gnome-terminal
的{{1}}使用PROMPT_COMMAND='echo -ne "\033]0;SOME TITLE HERE\007"'
并执行内容。
以后可以根据它们的标题(例如执行特定的命令)或存储它们的" ID"来解决这些终端的问题。来自"母亲"终端或至少在不再需要它们时杀死它们中的某些?
关于杀戮,我至少可以假设他们在top
中的号码会按照他们被打开的顺序递增但是这不是真正的防弹,因为在路上可能有另一个终端打开或即便在两者之间。
干杯!
答案 0 :(得分:0)
据我所知,这是不可能的。 PROMPT_COMMAND
用于在gnome-terminal下运行的bash。
您可以做的最好是使用终端的PID:
gnome-terminal &
first_teminal=$!
gnome-terminal &
second_terminal=$!
etcetera并杀死他们
kill $first_terminal
答案 1 :(得分:0)
tty
显示伪设备ID 您可以在提示符中添加每个终端使用的伪终端设备的名称:
TTY=$(tty)
PROMPT_COMMAND='echo -ne "\033]0;'${TTY#/dev/}'|SOME TITLE HERE\007"'
这会添加pts/3|SOME TITLE...
从那里,您可以列出在此终端中执行的所有任务:
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
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