守护进程::通用锁在Solaris上的守护进程中消失

时间:2013-01-30 08:07:01

标签: perl locking solaris daemon file-locking

我正在尝试使用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进程中存活?

0 个答案:

没有答案