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

Mukai Takanori email@hidden
2013年 3月 19日 (火) 15:08:39 JST


中山様

向井です。
ご回答ありがとうございました。

中山様に提案していただいた対策をいれてみたのですが、
やはりゾンビプロセスが増え続けています。

ちなみにですが、vfork()とexeclp()を使用する方法の場合、
親プロセス側でシグナル受信(SIGCHLD等)は入れて、
ハンドラ内でwaitをして有りますでしょうか。

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

----- Original Message ----- 
From: "nakayama junichi" <email@hidden>
To: "Armadillo general discussion list" <email@hidden>
Sent: Tuesday, March 19, 2013 11:09 AM
Subject: [Armadillo:08682] Re:Armadillo-460 pppd切断時にpppdがゾンビ化する


> 向井様
>
> ONICOSの中山と申します。
>
>> Armadillo-460にて、FOMA通信を行う為ppp接続しています。
>> 動作確認用のプログラム内(別プロセスからforkされています)で、以下処理をループで繰り返しています。
>> ============================================================
>> 1.ppp接続(バックグラウンドでpppd起動):system()関数からpppdを起動しています。 
>> 
>
> system()関数で別プロセスを起動するのではなく、
> vfork()とexeclp()を使用する方法はどうでしょうか?
> 以下のように、
> vfolk()は引数なしで呼び出します。
> execlp()のほうは引数をいくつか与える必要があります。
>
> pid = vfork();
> if( pid == 0 )
> {
>    // Child process
>    execlp("pppd", "pppd", NULL);
>    return;
> }
> else
> {
>    // Parent process
> }
>
> 440なのですが、私はこの方法でプロセス管理ができています。
>
>
> --------------------------------------------------
> From: "Mukai Takanori" <email@hidden>
> Sent: Tuesday, March 19, 2013 10:45 AM
> To: <email@hidden>
> Subject: [Armadillo:08681]Armadillo-460 pppd切断時にpppdがゾンビ化する
>
>> お世話になります。
>> 向井と申します。
>>
>> 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
>>>> ********************************
>>
>
>
>
>> _______________________________________________
>> armadillo mailing list
>> email@hidden
>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>
> 




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