
IO::Select. 我没想到只有当我手动终止分叉进程时才会终止此代码.这是正确的行为吗?
use strict;use warnings;STDOUT->autoflush();use IO::Select;open(my $ph,"-|","perl -e 'sleep 1 while 1'");my $sel = IO::Select->new();$sel->add($ph);$sel->can_read(2) or warn "timeout\n";print "woohoo?\n";解决方法 从
open, Closing any piped filehandle causes the parent process to wait for the child to finish,then returns the status value in
$?and${^CHILD_ERROR_NATIVE}.
因此关闭$ph中的文件句柄(当$ph超出范围时完成)等待孩子完成.
(这与IO ::选择或选择无关.)
总结以上是内存溢出为你收集整理的perl – 关于IO :: Select的澄清全部内容,希望文章能够帮你解决perl – 关于IO :: Select的澄清所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)