web-dev-qa-db-ja.com

Ctrl-Cは、シェルスクリプトに挿入されたときにpppdによって無視されます

シリアルポートに接続されたGSMモデムを介してGPRSネットワークに接続しようとしています。

コマンドラインから/usr/sbin/pppd call <peer_name>を呼び出すと、正しく受信して処理します Ctrl+C キーボードから。

しかし、まったく同じコマンドを空のシェルスクリプト(上部にShebang #!がある場合とない場合)に入れて、chmod +xし、シェルプロンプトから実行してから、pppd実行を開始します-しかし、それは完全に無視します Ctrl+C キーの組み合わせ。 Ctrl+Z ただし、正常に動作します。

これはpppdピアファイルの内容です

nodetach
dump
connect "connect_script"
disconnect "disconnect_script"
/dev/ttyS0
noauth

PPTP VPNサーバーに接続するために作成した別のピアファイルをテストしましたが、同じ結果になりました。PPTPチャットスクリプトは必要ないので、 chatコマンドまたはシリアルポートリンクのプロパティに関する問題を除外しています。

OSはdebian7です。

ここで何が起こっているのか考えはありますか?

5
zaadeh

問題は、Debian7に付属しているpppdバージョン2.4.5に固有のバグだと思います。バージョン2.4.4と2.4.6(現在のところ最新)をテストしました。同じマシンや他のマシンで、期待どおりに動作します。 pppdパッケージには、シグナルハンドラ操作コードがたくさん含まれているようです。これは、この種のバグにつながる可能性があると思います。今までに修正されてうれしいです。

0
zaadeh