我正在使用 Ubuntu 12.04 64 位,并安装了所有更新。
我编写了一个简单的 shell 脚本,用于启动 SOCKS5 隧道并启动 Firefox(使用正确的网络代理设置)以使用该隧道。如何识别 Firefox 何时结束(当我关闭它时)以便关闭隧道?此外,如果我可以在后台运行它,那就太棒了,但这不是必需的。
#!/bin/sh
ssh -fCN -D 10000 server.com
firefox //使用 Ubuntu 启动 firefox
? 确定 firefox 何时退出的代码
终止隧道的代码
答案1
您可以使用以下trap
命令告诉终端在退出时终止隧道:
#!/bin/sh
# Create the tunnel
ssh -fCN -D 10000 server.com
pid=$!
# Tell the terminal to kill the tunnel on exit or error
trap "kill $pid" EXIT
# Launch Firefox
firefox
当您退出 Firefox 时,shell 将退出并终止隧道。