作者 主題: Deamonize your perl script on WIN32  (閱讀 3363 次)

0 會員 與 1 訪客 正在閱讀本文。

roder

  • 懷疑的國中生
  • **
  • 文章數: 48
    • 檢視個人資料
Deamonize your perl script on WIN32
« 於: 2002-12-04 16:02 »
最近小弟就為了在win32下面要把perl變成像在unxi 環境下可用crontab方式來執行
我用的方法如下:
1.先去http://www.activestate.com下載activeperl最新版,把他裝在你的windows(我是win xp pro)的c:\perl目錄下
2.在去這裡http://www.roth.net/perl/Daemon/下載Win32:Daemon(注意如果你的activeperl是build6XX的請下載daemon_5006.Zip)
3.下載完後用ppm方式安裝...這裡安裝會有問題,但是不要理他,裝完後把daemon.pm檔案copy到C:\Perl\lib

我這有各範例程式,這也是改自Win32::Daemon的範例程式,注意網站的範例和下載的檔案範例都有錯,可能作者很久沒更新了

下面這程式可以每5秒重0~9印出一個數字

use Win32::Daemon;
for ($i=0;$i<10;$i++)
{
print $i;
    Win32::Daemon::StartService();
    while( SERVICE_STOPPED != ( my $State = Win32::Daemon::State() ) )
    {
        if( SERVICE_START_PENDING == $State )
        {
            Win32::Daemon::State( SERVICE_RUNNING );
        }
        elsif( SERVICE_STOP_PENDING == $State )
        {
            Win32::Daemon::State( SERVICE_STOPPED );
        }
       
        Win32::Sleep( 5000 );
    }  
    Win32::Sleep( 5000 );
    Win32::Daemon::StopService();
}