我正在从PHP调用TCL脚本。我从TCL过程向PHP发送一个唯一的字符串以确保脚本已经结束。fread的超时时间

如果我不发送该字符串,那么我在PHP中的fread将永远被阻塞。

// PHP代码

$id = 'done'; //Unique string

$app = 'c:/wamp/www/tcl/bin/tclsh84.exe';

$descriptorspec = array(

0 => array("pipe","r"),

1 => array("pipe","w"),

2 => array("pipe","w")

) ;

$process = proc_open($app, $descriptorspec, $pipes);

if (is_resource($process))

{

for($i=0;$i<2;$i++)

{

$output = '';

$continue = true;

$cTimeout = 0;

echo 'loop ', $i, "\n";

fwrite($pipes[0], "source c:/wamp/www/tcl/bin/helloworld.tcl\n");

echo "waiting for idle\n";

$timeout = time();

do {

$read=array($pipes[1]);

$write=array();

$except=array($pipes[1]);

$ready = stream_select($read, $write, $except, 1, 0);

$dif = time()- $timeout;

if ($ready && $read)

{

$output .= fread($pipes[1], 2048); // is blocked indefinitely

// if the delimiter id shows up in $output

if (false!==strpos($output, $id)) {

// the script is done

$continue = false;

}

}

if($dif > 5) //timeout value not working

{

$continue = false;

}

} while($continue);

echo 'loop ', $i, "$output finished\n";

}

proc_close($process);

}

?>

// TCL代码

看跌期权 “你好”

如果我发送 “完成” 从TCL,然后我的PHP脚本结束。 但我不想发送刚刚完成,而是需要暂停的帮助。 即我想等待一段时间的唯一字符串,否则我应该退出。但我似乎无法在这种情况下实现超时。

请任何人都可以引导我。

2009-11-03

Vidya

php fread 超时时间,fread的超时时间相关推荐

  1. 服务超时时间如何设置、如何对超时时间治理、超时设计原则一文揭秘!

    微服务是⼀种分布式架构,系统内各部分(服务)被部署为单独的应用程序,并通过某种远程访问协议进⾏通讯.分布式应⽤的挑战之⼀就是如何管理远程服务的可用性和它们的响应.本⽂主要探讨服务的响应时间对系统的影响 ...

  2. 基于MThings配置MODBUS数据中常见的几种时间概念介绍(超时时间、间隔时间、轮询时间)

    超时时间: 主机使用,主机请求发出后,依据该时间判定从机回复的最大时间范围,超出该时间后,主机判定请求超时.如果超时时间设置过小,从机可能会在超时时间范围外才能回复请求,此时可能会导致总线中持续的报文 ...

  3. Go 学习笔记(48)— Go 标准库之 time (获取时/分/秒的单位值、标准时间和Unix时间转换、字符串时间和Time类型转换、时区转换、时间的加减/休眠)

    1. 概要说明 import "time" time 包提供了时间的显示和测量用的函数.日历的计算采用的是公历. Go 提供以下几种时间类型: 时间点 Time 时间段 Durat ...

  4. php 访问超时,PHP http请求超时问题解决方案

    这篇文章主要介绍了PHP http请求超时问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一,http请求超时时间 可能出现的场景: 1 ...

  5. linux下载文件一直超时,Linux下connect超时处理(总结)

    1.前言 最近在写一个测试工具,要求快速的高效率的扫描出各个服务器开放了哪些端口.当时想了一下,ping只能检测ip,判断服务器的网络是连通的,而不能判断是否开放了端口.我们知道端口属于网络的传输层, ...

  6. linux上点时间延时,Linux上时间和定时器

    Linux下时间和定时器 http://blog.chinaunix.net/u1/35065/showart_1870601.html重点读了第三种方法.文章写得很好,加了一点点注释可参考http: ...

  7. mysql 请求超时_由请求超时引发的mysql慢日志问题

    背景 由于系统在生产环境运行了一段时间,发现系统超时的接口的请求越来越多,通过服务器的日志发现同样的接口,有时候会超过2s,  有时候又几百毫秒就完成,通过把 接口的 sql拿出来分析执行,工作量有点 ...

  8. 分级时间轮优化普通时间轮定时器(2):滴答式分层计时轮

    <实现较低的计时器粒度以重传TCP(RTO):时间轮算法如何减少开销> <分级时间轮优化普通时间轮定时器> Table of Contents 描述 新闻 用法 执照 资源 其 ...

  9. nginx中的超时设置,请求超时、响应等待超时等

    nginx比较强大,可以针对单个域名请求做出单个连接超时的配置. 比如些动态解释和静态解释可以根据业务的需求配置 proxy_connect_timeout :后端服务器连接的超时时间_发起握手等候响 ...

最新文章

  1. boost::core模块实现交换primitive
  2. 柴油机计算机故障,柴油机故障论文,关于6105小型高速柴油机常见故障处理相关参考文献资料-免费论文范文...
  3. nginx-rtmp常用指令
  4. Web应用系统中数据传递的方式汇总
  5. loadrunner之协议选择
  6. c#如何实现从xml中加载树目录,并且显示完整的Text
  7. 转载 电子商务关键数字优化(线上部分,中)
  8. 另一个SqlParameterCollection 中已包含 SqlParameter[解决方案]
  9. react-native android 和ios 集成 jpush-react-native 激光推送
  10. 「代码随想录」279.完全平方数 【动态规划】力扣详解!
  11. Android考察报告模板,《跨越星弧》星球地质考察报告首次公开!
  12. EasyExcel 并发读取文件字段并进行校验,数据写入到新文件,批量插入数据到数据库
  13. linux 第六章 linux中的进程管理
  14. django+echarts数据可视化(NBA球队数据可视化02)!
  15. Unity开发教程 打造战棋手游《天地劫》
  16. 【数据结构】栈和队列的异同
  17. kali linux修改dns,Kali Linux 设置动/静态IP地址以及修改DNS
  18. Altium Designer——usb信号线布线注意的问题——应使用差分布线
  19. 排队论----学习反馈
  20. 计算机DNS怎么配置,dns设置,教您怎么设置dns地址

热门文章

  1. 神经网络如何实现分类,神经网络分类特点区别
  2. MySQL实现update select语句
  3. 日常视频处理小记-纵横比问题
  4. ffmpeg原生绘制视频
  5. 一句话解释Dubbo服务本地暴露和远程暴露
  6. 2017-05-31--夺命雷公狗发牢骚
  7. 【USACO】 贪婪的礼物送礼者
  8. 2021年上半年软件设计师上午真题及答案解析(六)
  9. 设计模式——工厂方法模式(Factory Method)
  10. 不断发展的5G MIMO网络和虹科测试方案