2013-03-01から1ヶ月間の記事一覧

swatch exec で指定して他のプログラム実行させると、子プロセスがdefunct になってゾンビで生き続けてうざいので、Swatch::Actions のsub exec_command 内に local $SIG{CHLD} = 'IGNORE'; を足した

件名の通りで、内容は1つ前のエントリとほぼ同じ。 # diff -u /usr/lib/perl5/vendor_perl/5.8.8/Swatch/Actions.pm.org /usr/lib/perl5/vendor_perl/5.8.8/Swatch/Actions.pm --- /usr/lib/perl5/vendor_perl/5.8.8/Swatch/Actions.pm.org 2013-03-06 14:0…

perlでforkした子プロセスを投げっぱなしにする

親プロセス側はdaemon的に常駐させて、子プロセスだけ先に終了するような場合で、waitpid で待たなくても良い場合はSIGCHLD を受けても無視するようにすれば良いようだ。 $SIG{CHLD} = 'IGNORE';