我正在尝试设置一个可以在 WM 中轻松调用的脚本。这个想法是通过 ssh 建立一个到已知良好服务器的袜子隧道,然后使用适当的环境变量启动 chromium...然后,等到该 chromium 实例退出,然后取消绑定端口。最后一部分很重要,因为如果保持打开状态,脚本将无法再次运行,因为隧道仍然处于运行状态。
但是,当我运行它时,它只是建立连接,启动 chromium,然后关闭连接...它不会等待 Chromium 关闭才继续。
我尝试添加 &、&& 和等待函数,但我认为 Chromium 在成功执行后会返回一些内容,这会触发我的脚本继续。
ssh -f -N -M -S ~/socket -L 4771:localhost:4771 -p 1234 foo.bar.com
chromium --proxy-server="socks://localhost:4771" &&
wait
ssh -S socket -O exit foo.bar.com
我使用 Arch 和 ZSH 作为我的 shell。
答案1
我能想到的最好的办法就是pgrep
循环运行。如果您运行多个 chromium,您可以使用unshare
或firejail
等命令将脚本隔离在单独的 PID 命名空间中。