Re: getppid
河野真治 @ 琉球大学情報工学です。
In article <051227135458.M0125103@azusa.ics.nara-wu.ac.jp>, nide@ics.nara-wu.ac.jp (NIDE Naoyuki) writes
> おお、なるほど。ありがとうございます。Perlだとkillはシグナルが実際に送
> れたプロセスの数を返すので、kill(0, getppid())が1かどうかをチェックする
> ことでうまくいきました。
これなんですが、..
> …が、よく考えてみると、親が既に死んでいて、それと同じPIDの新しいプロ
> セスが誕生していたりすると、これでは誤判定するんでしょうかね…(そこまで
> は試していません)
これは自分でなければ permision denied になります。
なんだが、Vine Linux の新しいのだと、daemon から起動したときと、
command line から起動した時で挙動が違って、daemon から起動すると、
親は exit した後も defunct
に留まるみたい。
親が defunct する条件ってなんだっけかな。もしかすると、close して
ないfile descriptorがあるのかな。exit すれば全部closeしてく
れるんじゃなかったっけ...
---
Shinji KONO @ Information Engineering, University of the Ryukyus
河野真治 @ 琉球大学工学部情報工学科
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735