Ctrl-C 在放入 shell 脚本时被 pppd 忽略

zaa*_*deh 5 bash signals shell-script ppp pppd

我正在尝试通过连接 GSM 调制解调器的串行端口连接到 GPRS 网络。

当我/usr/sbin/pppd call <peer_name>从命令行调用时,它会正确接收并处理来自键盘的Ctrl+ C

但是当我将完全相同的命令放在一个空的 shell 脚本中时(#!顶部有或没有 shebang ),chmod +x它并从 shell 提示符运行它,然后pppd开始运行 - 但它完全忽略了Ctrl+C组合键。Ctrl+Z工作正常。

这是pppd对等文件的内容

nodetach
dump
connect "connect_script"
disconnect "disconnect_script"
/dev/ttyS0
noauth
Run Code Online (Sandbox Code Playgroud)

我测试了另一个我为连接到 PPTP VPN 服务器而创建的对等文件 - 具有相同的结果。PPTP 不需要聊天脚本,所以我排除了chat命令或串行端口链接属性的问题。

操作系统是 debian 7。

任何想法这里发生了什么?

zaa*_*deh 0

我猜这个问题是 2.4.5 版本特有的错误pppd,这是 Debian 7 附带的版本。我在同一台机器和其他机器上测试了版本 2.4.4 和 2.4.6(这是目前最新的),他们按预期工作。pppd包中似乎有很多信号处理程序操作代码,我猜这可能会导致此类错误。我很高兴它现在已经修复了。