php实现的视频质量检测配置页面,异步调用不退出的进程:
2016-07-10 22:46
579 查看
视频质量检测服务程序:videoDetect.exe,运行时blrun.exe videoDetect.exe;使用blrun监听videoDetect.exe进程,blrun是死循环不会退出。
在页面中实现开启服务功能时如果直接system调用blrun.exe videoDetect.exe,页面会被阻塞,因为blrun是死循环不会退出。
为了让页面不受被调用的进程的影响而阻塞,应该使用异步调用方式。首先将运行方式做成批处理文件start.bat供页面调用。start.bat内容如下:
start "" "%~dp0\blrun.exe" "%~dp0\videoDetect.exe"
页面中使用进程I/O函数popen()后台运行start.bat,通过创建一个管道,调用 fork 产生一个子进程,执行start.bat以运行命令来开启一个进程,这样页面
就不会因为等待blrun的退出而阻塞。
$cmd="start.bat";
$file = popen($cmd,"r");
pclose($file);
在页面中实现开启服务功能时如果直接system调用blrun.exe videoDetect.exe,页面会被阻塞,因为blrun是死循环不会退出。
为了让页面不受被调用的进程的影响而阻塞,应该使用异步调用方式。首先将运行方式做成批处理文件start.bat供页面调用。start.bat内容如下:
start "" "%~dp0\blrun.exe" "%~dp0\videoDetect.exe"
页面中使用进程I/O函数popen()后台运行start.bat,通过创建一个管道,调用 fork 产生一个子进程,执行start.bat以运行命令来开启一个进程,这样页面
就不会因为等待blrun的退出而阻塞。
$cmd="start.bat";
$file = popen($cmd,"r");
pclose($file);
相关文章推荐
- Yii2-Session超时设置无效问题处理
- php实现IP地址和数字相互转换
- php的socket通信
- ftp--Ubuntu与arm板数据传送
- php switch理解
- thinkphp的自动完成功能说明
- yii2.0数据库交互ORM
- PHP 写入txt文件换行
- PHP面向对象总结
- FTP-------应用层协议
- php中$this->是什么意思
- iOSAFN上传图片 php接收(一)(模拟表单上传)
- PHP如何获取二个日期的相差天数?
- PHP中静态(static)调用非静态方法详解
- PHP引用(&)使用详解
- elipse和editplus的快捷键
- PHP引用(&)初探:函数的引用返回
- PHP的大括号(花括号{})使用详解
- PHP与MYSQL学习笔记--基础篇1
- PHP正则表达式详解(二)