期待产生的snx进程死亡

时间:2014-01-11 16:42:44

标签: bash tcl expect

我正在尝试自动建立使用snx的VPN连接。

希望有人可以帮助弄清楚为什么在下面的预期脚本中,产生的snx进程就会死掉,期望达到'期望eof'。如果我运行下面的脚本并观察ps -auxef,我可以看到snx连接已经建立,但是一旦达到该行就会死掉。

#!/usr/bin/expect

log_user 0
send_user "attempting to establish vpn connection..."
spawn snx -s server.com -p 443 -u myuser
expect {
        "Please enter your password:\n" {
                send "password123\r"
                expect eof
                send_user "successful\n"
                exit 0
        }
        eof {
                send_user "vpn is already connected\n"
                exit 0
        }
}

奇怪的是,如果我手动运行snx命令并输入密码,它运行正常。

另一个奇怪的事情是这个问题只有在我从ssh会话运行到Fedora 17盒子时才能看到,但是当我在我的本地机器(Fedora 18)上运行时,它运行100%正常。有任何想法吗?任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

请喜欢

spawn -ignore HUP /bin/sh -c "snx -s xxx.xxx.xxx.xxx -u vpn_account"

这将阻止终止