[Armadillo:08681] Armadillo-460 pppd切断時にpppdがゾンビ化する

Mukai Takanori email@hidden
2013年 3月 19日 (火) 10:45:58 JST


お世話になります。
向井と申します。

Armadillo-460にて、FOMA通信を行う為ppp接続しています。
動作確認用のプログラム内(別プロセスからforkされています)で、以下処理をループで繰り返しています。
============================================================
1.ppp接続(バックグラウンドでpppd起動):system()関数からpppdを起動しています。 

                                            ↓
2.pppセッション確立を確認。
                                            ↓
3.ppp切断:kill(pppdのpid, SIGINT) ←で切断しています。
============================================================

3.の時点でpppのセッションは切れているのですが、その後にpsコマンドでプロセスを確認すると、
pppdのゾンビプロセスが増え続けてしまいます。

対策として以下を試してみましたが、ゾンビプロセスを消すことが出来ません。
1.SIGCHLDハンドラ内で waitpid( -1, NULL, WNOHANG ) を実施。
2.デーモンのシグナルを無視する。 signal( SIGCHLD, SIG_IGN )
3.kill(pppdのpid, SIGINT) を system( "kill -9 pppdのpid" ) に変更してみる。 


何か別の対策法をご存じの方がおられましたら、ご教示をお願いします。

環境:
カーネルバージョン:linux-2.6.26-at15
pppd バージョン:2.4.2

以上、よろしくお願いします。

>> ********************************
>> 〒655-0894
>> 神戸市垂水区川原2−2−7
>>
>>  株式会社サイ電子
>>    向井 隆智
>>
>>  TEL 078-754-0738 FAX 078-754-0913
>>  http://www.sai-inc.jp
>> ********************************
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://lists.atmark-techno.com/pipermail/armadillo/attachments/20130319/b4eab153/attachment.html>


armadillo メーリングリストの案内