PHP脚本调用命令获取实时输出
在写脚本的时候, 经常会有需要调用其他命令. 而在调用一些耗时命令的时候, 我们是需要能够实时掌握脚本进度的.
一般来说, 脚本的进度通常是通过脚本的输出来获得.
如果是一个bash
脚本, 那么直接调用命令 A
就可以将执行权交出去, 然后命令 A
的输出就可以实时显示出来了.
如果是perl
脚本, 通过``符号也可以调用命令 A
, 但是结果会在命令 A
整个结束的时候才能拿到, 此时通过system 命令 A
就可以将执行权交给命令 A
, 同样, 命令 A
的输出也能够实时显示出来.
如果是PHP
脚本, 通过``符号调用, 和perl
脚本是一样的, 只能在命令A
结束是才能拿到返回. 那么PHP
脚本如何实时获取命令 A
的输出呢? 可以通过监听进程输出的形式:
function real_cmd($command){// 执行命令并打开命令的输出指针$handle = popen($command, 'r');while (!feof($handle)) {// 循环获取命令输出$data = fgets($handle);// 刷新输出缓冲区ob_flush();flush();echo $data;}// 命令执行结束, 关闭指针pclose($handle);
}
PHP脚本调用命令获取实时输出相关推荐
- 【Groovy】Groovy 脚本调用 ( 命令行执行 Groovy 脚本并传入参数 | 获取 Groovy 脚本执行参数 )
文章目录 前言 一. 命令行执行 Groovy 脚本并传入参数 二.获取 Groovy 脚本执行参数 前言 在 Groovy 脚本 , Groovy 类 , Java 类中 , 可以调用 Groovy ...
- inux C程序中获取shell脚本输出(如获取system命令输出)
1. 前言 Unix 界有一句名言:"一行shell脚本胜过万行C程序",虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作.比如实现一个 ping程序来测 ...
- 可测含多进程的app-- python调用adb命令获取Android App应用的性能数据:CPU、GPU、内存、电池、耗电量(含python源码)
可测含多进程的app–Python–通过adb命令获取Android App应用的性能数据:CPU.GPU.内存.电池.耗电量,并与Perfdog取值对比结果 1.原理 python脚本通过os.po ...
- bat脚本中获取上级目录_批处理bat命令--获取当前盘符和当前目录和上级目录
批处理命令获取当前盘符和当前目录 %~d0 是当前盘符 %cd% 是当前目录 可以用echo %cd%进行打印测试 以下例子是命令行编译Visual Studio编写的程序: @echo off se ...
- bat脚本中获取上级目录_转载 批处理bat命令--获取当前盘符和当前目录和上级目录...
批处理命令获取当前盘符和当前目录 %~d0 是当前盘符 %cd% 是当前目录 可以用echo %cd%进行打印测试 以下例子是命令行编译Visual Studio编写的程序: @echo off se ...
- bat脚本中获取上级目录_批处理bat命令 获取当前盘符和当前目录和上级目录的代码...
批处理命令获取当前盘符和当前目录 当前盘符:%~d0 当前路径:%cd% 当前执行命令行:%0 当前bat文件路径:%~dp0 当前bat文件短路径:%~sdp0 测试 echo 当前盘符:%~d0 ...
- shell脚本的命令行传参
在Linux环境下开发C程序,若想要可选择性的给程序传递外部参数,最后是以启动脚本的形式间接进行传递,这样对于命令行的参数解析工作将集中到shell脚本中,大大增加C代码的可移植性. sh ...
- 函数定义、函数参数、跨脚本调用函数
2.6.函数使用 函数定义 示例(文件名称为func1.sh): #!/bin/bash ##定义函数 hello() { echo "Hello there today's date is ...
- 【Linux学习】如何编写Shell脚本调用企业微信api来发消息给企业微信成员?
一.前言 最近通过python实现了发送消息给企业微信的功能,参考链接: [Jenkins学习 ]如何编写Python脚本来调用企业微信的api通知企业微信成员关于Jenkins的编译结果? http ...
最新文章
- vs2005c语言连接mysql_VS2005连接MySQL C API
- 预备作业02-20162314王译潇 黑客帝国之路1.1
- Android 友盟分享躺过的几个坑,大坑,坑爹啊
- [TCP/IP]TCP服务端accept发生在三次握手的哪一个阶段
- CVPR 2020 | 序列化的三维形状生成网络PQ-NET
- QT 在最新版mac下无法显示变量的问题处理
- [转载] Python日历模块| 使用示例的weekday()方法
- 【Masm】使用教程
- MODFLOW Flex、GMS、FEFLOW、HYDRUS实践应用
- 智慧校园供水系统智能管理
- 考研之复习经验与时间安排篇
- 用聊天记录当证据 对方改了微信号怎么证明他是他
- 寒门贵子(源自超级演说家刘媛媛)
- EUV光刻机内部揭秘!
- Django永久重定向问题
- oracle表如何做统计分析,Oracle表统计信息的分析
- ak和sk的意思及用法
- as ssd测试软件得分少,教大家AS SSD Benchmark如何测试硬盘性能
- 财务平台打印不完整处理及横向纵向问题
- 三生三世十里桃花手游怎么用电脑玩 三生三世十里桃花模拟器教程
热门文章
- linux---基础01
- 打开黑色_垃圾桶里的黑色塑料袋,打开一看,倒吸一口气!
- python高效处理文件_使用Python语言高效地处理一个文本文件
- python中exec是什么意思_Python中的进程分支fork和exec详解
- centos7开启vnc服务_阿里云CentOS 7搭建VNC远程桌面服务步骤方法
- pytorch 对抗样本_《AI安全之对抗样本入门》—3.4 PyTorch
- python try else_python try/except/else与递归
- java文件传输连接方式_Java 学习笔记 网络编程 使用Socket传输文件 CS模式
- acc定义代码 神经网络_神经网络的这几个坑,你都躲过了吗
- Mysql 中Sql控制流语句_DCL语句/控制流语句