gpt4 book ai didi

perl - 如何在 Windows 7 64 位上从 PERL 脚本创建 Windows 服务

转载 作者:行者123 更新时间:2023-12-05 03:14:46 26 4
gpt4 key购买 nike

有没有人有关于如何从 PERL 脚本在 Windows 7 64 位上创建 Windows 服务的示例?

在windows XP professional 32-bit上,我用Win32::Daemon成功创建了windows服务,它有回调函数。这不适用于 64 位。

我看过这个http://nssm.cc/usage并使用它创建了一个服务,但它不保持状态并且会出错。如果有人有合适的例子,也许......

非常感谢一些想法。

最佳答案

我现在设法解决了这个问题。

我现在将我的 perl 脚本作为 Windows 服务在 64 位 Windows 7 上运行。

基本上 win32::Daemon 适用于 win 7 64 位,但服务创建需要手动完成。 IE。回调函数和启动都很好。

这里是一个从头开始创建 perl windows 服务的例子。

  1. 创建文件夹c:/myservice

  2. 从此链接复制代码示例并将其保存到上面的目录中。将其命名为 myservice.pl ( http://www.roth.net/forums/topic.php?id=106 )

  3. 在脚本中的 print hello 语句之后添加这两行。

    $Context->{last_state} = SERVICE_RUNNING;

    Win32::Daemon::State( SERVICE_RUNNING );

    这是保持服务运行所必需的。否则它会停止。

  4. 以管理员模式打开 Dos cmd 终端。使用以下命令创建服务

% sc create myservice binpath= "c:\strawberry\perl\bin\perl.exe"

成功后会显示以下信息。[SC] 创建服务成功

  1. 现在我们需要编辑注册表。打开注册表编辑器。 (开始 -> 然后输入 regedit)

  2. 在HKEY_LOCAL_MACHINE->SYSTEM->CurrentControlSet->Services->myservice下找到服务

  3. 点击“myservice”并将 imagePath 变量编辑为:c:\strawberry\perl\bin\perl.exe -I "C:\myservice""C:\myservice\myservice.pl"--run

  4. 现在打开服务窗口并启动服务。 (开始->控制面板->管理工具->服务)

  5. 在脚本的当前目录中,每隔几秒创建并更新一次日志。如果使用 cygwin for windows,你可以 tail 它。

    % tail -f *.log

进程将打印 Hello!定期...

谢谢。

关于perl - 如何在 Windows 7 64 位上从 PERL 脚本创建 Windows 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22760963/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com