从另一个脚本/ shell命令关闭具有特定标题的gnome-terminal

时间:2014-07-17 14:01:31

标签: linux bash shell

我需要关闭一个特定的gnome-terminal窗口,该窗口具有来自任何其他bash / shell脚本的唯一名称。

例如:

$] gnome-terminal --title "myWindow123" -x "watch ls /tmp"

...
...

gnome-terminal以名称" myWindow123"

打开

我只需要从我的脚本中杀死该终端。是否还期待bash中的脚本支持?

3 个答案:

答案 0 :(得分:2)

作为当天最丑陋黑客的参赛者:

sh$ TERMPID=$(ps -ef |
              grep gnome-terminal | grep myWindow123 |
              head -1 | awk '{ print $2 }')
sh$ kill $TERMPID

一个可能更好的选择是在发布时记录终端的PID,然后用该pid杀死:

sh$ gnome-terminal --title "myWindow123" -x "watch ls /tmp"
sh$ echo $! > /path/to/my.term.pid

...
...
# Later, in a terminal far, far away
sh$ kill `cat /path/to/my.term.pid`

答案 1 :(得分:0)

在启动终端的脚本中:

#!/bin/bash

gnome-terminal --title "myWindow123" --disable-factory -x watch ls /tmp &
echo ${!} > /var/tmp/myWindow123.pid

在将杀死终端的脚本中:

#!/bin/bash

if [ -f /var/tmp/myWindow123.pid ]; then
  kill $(cat /var/tmp/myWindow123.pid && rm /var/tmp/myWindow123.pid)
fi

答案 2 :(得分:0)

这有点丑陋,但是您可以创建一个将随机数作为参数的包装器脚本,然后杀死那个

.red{
   color:red;
    }
.green{
   color:green;
 }
.blue{
   color:blue;
 }