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