0

我有 perl 脚本,它从 cgi 页面生成并成为一个独立运行的守护进程。如果从它正在使用的任何模块中调用了一个骰子,则脚本将被调用,尽管它已在 eval 块中进行了处理。但是,当我从命令提示符运行脚本时,一切都很好,并且正在处理错误。

注意:从命令行也脚本正在成为一个守护进程

4

1 回答 1

0

抱歉,这里没有真正的答案,但有些事情需要调查......

如果您从 mod_perl 生成作业,请记住它比平常更复杂。您需要关闭文件描述符,httpd/mod_perl 将不止打开 0、1 和 2。我们最终编写了一个刚刚关闭 0 到 255 的循环。我也认为stdout不是 1 从内存中。

但不确定为什么 eval 不起作用。您是否使用 生成脚本exec?在这种情况下,它应该与从 shell 运行它相同。当您说它“被杀死”时,您的意思是骰子导致脚本退出(好像没有评估一样)?或者是其他东西。如果它是别的东西,你可能会从 mod_perl 正在运行的 httpd 进程继承信号处理程序吗?

于 2011-12-10T03:24:28.560 回答