在 Windows 运行 多个脚本实例上同时使用 ActivePERL?

ActivePERL on Windows running multiple instances of script simultaneously?

我一直找不到任何能真正回答我的问题的东西,所以如果有人能对此事有所了解,我将不胜感激。

我不是 Unix/Linux 人,所以我 运行 在 Windows NT 上使用 ActivePerl。

场景是这样的:

webscript.cgi 调用 background.pl 在用户继续浏览网站时做一些肮脏的工作,使用system($cmd)。这一切都很好,但我想知道的是:

如果由于用户对 运行 background.pl 的操作而在几秒钟内发出多个调用,会发生什么情况?请问多个background.pl运行同时出现?是否必须先完成一个实例才能开始下一个实例?任何后续调用的实例都会失败吗?或者,我的机器会开始冒烟然后爆炸吗? (咯咯笑)

同样,这是 运行ning 在 Windows 环境中,所以我不确定 ActivePerl 的规则是否与 Unix 环境中的 运行ning 有点不同。感谢任何可能对此有一些信息的人!

Web 服务器对 运行ning background.pl 进程一无所知,所以它照常执行。它 运行s webscript.cgi 启动 background.pl.

现在,如果 webscript.cgi 等待 background.pl 完成,您可能 运行 进入 Web 服务器停止接受请求的情况,因为它的所有工作人员都 运行宁webscript.cgi。一旦脚本结束,它将恢复。

所有这些都非常容易测试。


Will one instance have to complete before the next can begin?

没有

Will any subsequent instances called simply fail?

没有

Or, will my machine begin to smoke and then perhaps explode? (chuckle)

如果同时尝试 运行 太多程序,确实可能导致配置不当的服务器崩溃。