如何检查某个进程(Firefox)是否已退出?

如何检查某个进程(Firefox)是否已退出?

我正在使用 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 将退出并终止隧道。

相关内容