【问题标题】:How to run multiple perl instances of same script?如何运行同一脚本的多个 perl 实例?
【发布时间】:2015-10-31 00:19:00
【问题描述】:

所以我尝试多次运行 1 个 perl 脚本,但我只能在第一次运行时收到所有其他实例的权限被拒绝消息。

ERROR: (HTTP::Daemon: Permission denied) at script.pl line 50.

我该如何解决这个问题?

【问题讨论】:

  • 脚本的作用是什么?它会打开一个端口吗?
  • 您能否分享您的 script.pl 的简化版本,以便我们了解您要做什么?但乍一看,您似乎正在尝试运行多个 HTTP 守护程序。他们有不同的本地端口吗?
  • 如果不详细说明您的脚本在做什么,我们无法告诉您。

标签: linux windows perl scripting


【解决方案1】:

从外观上看,您的脚本创建了一个侦听特定端口的 Web 服务器。一次只能将一个套接字绑定到一个端口,因此创建第二个套接字的尝试失败。

解决方案可能是避免绑定到特定端口。

  1. 从传递给HTTP::Daemon->new 的参数中删除LocalPort => ...
  2. HTTP::Daemon 对象创建后,使用$d->peerport()获取端口。
  3. 将端口与将连接到 HTTP 服务器的客户端通信。
  4. 让客户端连接到通信端口,而不是当前连接的端口。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-15
    • 2021-07-01
    • 2017-08-16
    • 2016-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多