1

私はDaemon::Genericを使用しようとしていますが、Solaris を除いて、まさに私が必要としているもののようです。pid ファイルのロックが機能しないようです。その結果、statusプロセスが明らかに生きている場合でも、常にプロセスが死んでいると報告されます。

たとえば、次のようになります。

use Daemon::Generic;

sub gd_run
{
  sleep (60);
}

sub gd_preconfig
{
  return ();
}

newdaemon(pidfile => "/tmp/myproc.pid");

...常にプロセスが停止していると報告します。

はローカル/tmpにマウントされているため、ネットワーク ドライブを介したロックの問題を回避できるようです。

これを機能させる方法はありますか?

編集:

詳細な調査では、sleep 60のさまざまなポイントにコマンドを配置Generic.pmすることで、関数 のどこかでロックが失われているように見えますgd_daemonize。ロックは Solaris のフォークに耐えられませんか? ロックがプロセスを生き残ることを保証する方法はありdaemonizeますか?

4

0 に答える 0