首页 / 知识
如何在Windows上从Perl CGI脚本派生后台进程?
2023-04-14 07:50:00

How can I fork a background processes from a Perl CGI script on Windows?在Windows上运行时,从Perl CGI脚本分叉进程时遇到了一些麻烦。 主要问题似乎是在Windows上运行时模拟了" fork",实际上似乎并没有创建一个新进程(只是当前进程中的另一个线程)。 这意味着等待进程完成的Web服务器(如IIS)将继续等待,直到"后台"进程完成。 有没有办法在Windows下从CGI脚本派生后台进程? 更好的是,有没有一个我可以调用的函数可以跨平台实现? (而且,为了使生活变得更加困难,我真的很想一个很好的方法同时将派生的进程输出重定向到文件中)。 如果要以独立于平台的方式执行此操作,则Proc :: Background可能是最好的方式。 使用Win32 :: Process-> Create with DETACHED_PROCESS参数 这个问题很老了,被接受的答案是正确的。但是,我只是使它起作用,并认为我会为需要它的人添加一些有关如何完成它的更多详细信息。 以下代码存在于非常大的perl CGI脚本中。这个特定的子例程在多个票务系统中创建票证,然后使用返回的票证编号通过Twilio服务进行自动呼叫。调用需要一段时间,并且我不希望CGI用户必须等到调用结束才能看到他们请求的输出。为此,我做了以下工作:
我确信生成并附加到pid的随机数会过大,但是我对创建非常容易避免的问题没有兴趣。希望这可以帮助想要做同样事情的人。记住要在脚本顶部添加 我在Windows上发现了fork()的真正问题,尤其是在Perl中处理Win32对象时。因此,如果要特定于Windows,我真的建议您查看Perl中的Thread库。 我使用此方法效果很好,一次可以在使用IIS的网站上接受多个连接,然后使用更多的线程一次执行所有不同的脚本。 perlfork:
|
最新内容
相关内容
linux进程运行命令?
linux进程运行命令?,系统,工作,状态,地址,信息,进程,基础,命令,管理,软件,linux常用命令有哪些1、linux系统常用操作命令linux系统常用操作命进程管理linux命令?
进程管理linux命令?,系统,管理,地址,状态,情况,简介,工具,网络,分析,软件,linux操作系统如何进程管理.内存管理.设备管理1、Linux内核 内核是linux显示运行命令?
linux显示运行命令?,系统,服务,状态,信息,工具,数据,电脑,标准,管理,时间,如何查看linux服务器运行状态?1、linux怎么查看服务器状态?我们一起linux命令下写脚本?
linux命令下写脚本?,服务,系统,环境,代码,名称,命令,脚本,发行,在线,情况,三个简单Linux的shell脚本程序编写Shell编程实战 实现文件备份 文件linux运行vim命令?
linux运行vim命令?,系统,工具,官方网站,模式,基础,数据,代码,环境,入口,命令,如何使用Linux系统中的Vim编辑器1、vim编辑器的三种模式:一般模式linux下看进程命令行?
linux下看进程命令行?,系统,情况,软件,服务,状态,名称,环境,进程,命令,数据,哪些命令可以查看进程在 Linux 系统中,我们可以使用 ps 命令来查看linux监控命令运行?
linux监控命令运行?,系统,工作,地址,信息,工具,情况,标准,环境,命令,状态,linux服务器监控的几个方法和命令uptime 该命令直观的显示了服务器linux中命令停止运行?
linux中命令停止运行?,系统,代码,第一,命令,进程,指令,程序,方法,接线,硬盘,linux怎么停止当前命令首先,连接相应linux主机,进入到linux命令行状linux把命令变成脚本?
linux把命令变成脚本?,系统,环境,工作,脚本,命令,信息,基础,代码,文件,变量,如何编写简单的Shell脚本文件之Linux的基本操作1、在开始Shell编linux进程与磁盘命令?
linux进程与磁盘命令?,管理,系统,信息,情况,基础,增长,单位,地址,发行,命令,Linux系统中进行磁盘管理的常用命令有哪些?分别有什么功能1、Linu脚本调用linux命令?
脚本调用linux命令?,代码,系统,工作,底部,脚本,位置,环境,行用,官网,标准,typescript脚本中怎样运行Linux命令?1、Script可用于记录当前用户的linux的进程管理命令?
linux的进程管理命令?,系统,实时,工作,管理,命令,地址,名称,进程,服务,基础,linux结束进程用什么命令1、【答案】:C 在Linux系统中,可以使用kill