当サイトで生成している RSS(野良feed):

dtpwiki.jpで提供しているサービス:

| トップページ |

2010.01.17

Proc::Daemon使った時のデバッグが大変だ

とある事情でLinuxでDaemonを作っていますが、相変わらずPerlで作っておりまして、

Perl Tips | Perl で、デーモン (Daemon) のプログラムを書くには? [perltips.twinkle.cc]

のまま使ってやっていまして、TTYにつないだまま(Daemon化しない)だと、フツーにいつまでも動いているのですけれども、Daemon化すると、数分でプロセスがいつの間にか消えているという現象。

だから今はscreenで開いたコンソール1つ使いDaemon化させないで運用。あほすぎる

Daemon化した時の効率のよいデバッグの仕方が見いだせないなあ。

2010.01.17 午後 11:28 [Perl] |

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/19018/47322980

この記事へのトラックバック一覧です: Proc::Daemon使った時のデバッグが大変だ:

コメント

proc::daemon は stdout/stderr を /dev/null に捨ててしまいますが、これをログファイルに吐くようにすれば、デバッグも容易かとおもいます。

otsuneさんもブコメでかいてますけども、daemontools つかって daemon 自前でつくらないってのが許されるのであれば、それが一番楽かとおもいます。

投稿者: トオルスガルモノノ (2010/01/20 11:15:42)

トオルスガルモノノさん:

アドバイスをいただきまして、

      open STDERR, '>', '/tmp/stderr.log';
      open STDOUT, '>', '/tmp/stdout.log';

にて解決しました。あと、止まっていた理由が、daemon化した時にカレントディレクトリが/になるためでした。Daemon.pmのソース読むと、もろにカレントディレクトリ変えたり、STDOUT/STDERRを書き換えているところがありました。ソース見るべきでしたね。

daemontools利用のほうは、別の機会にチャレンジしてみたいと思います。

投稿者: CL (2010/01/25 2:27:48)

コメントを書く