通过双向通信,您可以访问stdin,stdout和stderr的最接近的等价物是

proc_open().

以下是文档中的示例:

$descriptorspec = array(

0 => array("pipe", "r"), // stdin is a pipe that the child will read from

1 => array("pipe", "w"), // stdout is a pipe that the child will write to

2 => array("file", "/tmp/error-output.txt", "a") // stderr is a file to write to

);

$cwd = '/tmp';

$env = array('some_option' => 'aeiou');

$process = proc_open('php', $descriptorspec, $pipes, $cwd, $env);

if (is_resource($process)) {

// $pipes now looks like this:

// 0 => writeable handle connected to child stdin

// 1 => readable handle connected to child stdout

// Any error output will be appended to /tmp/error-output.txt

fwrite($pipes[0], '<?php print_r($_ENV); ?>');

fclose($pipes[0]);

echo stream_get_contents($pipes[1]);

fclose($pipes[1]);

// It is important that you close any pipes before calling

// proc_close in order to avoid a deadlock

$return_value = proc_close($process);

echo "command returned $return_value\n";

}

?>

如果您只需要stdout和stdin,则可以使用popen().

这是我修改过的例子,因为手册很糟糕:

$handle = popen('/path/to/executable', 'r');

$lines = [];

while (!feof($handle))

{

$lines[] = fgets($handle);

}

pclose($handle);

这将把/ path / to / executable的输出读入一行输出行.

你还询问了逃避争论的问题.您可以使用escapeshellarg()执行此操作:

$escapedArg = escapeshellarg($arg);

php 主进程子进程,PHP中的子进程的任何等价物?相关推荐

  1. python进程的注意点(进程之间不共享全局变量、主进程会等待所有的子进程执行结束再结束)

    1. 进程的注意点介绍 进程之间不共享全局变量 主进程会等待所有的子进程执行结束再结束 2. 进程之间不共享全局变量 import multiprocessing import time# 定义全局变 ...

  2. css 注入,electron程序,如何在主进程远程页面中注入js及css?

    本博客不欢迎:各种镜像采集行为,请尊重知识产权法律法规.大家都是程序员,不要闹得不开心. 每日一篇的苏南大叔写代码教程,又来了.在本文中,苏南大叔描述的是,在electron程序加载远程页面的时候,如 ...

  3. linux主进程退出时,结束子进程

    简介 主进程创建p1, p2两个进程,在主进程结束同时也让子进程结束! 代码 #include <stdio.h> #include <signal.h> #include & ...

  4. 主进程、子进程和守护进程

    理解 主进程main thread: 程序执行的入口,可以理解为常用的main 函数. 父进程parent thread: 对于子进程而言, 子进程的创造者,可有多个子进程. 任何进程都有父进程,追根 ...

  5. linux多进程server 进程池_Python 中的进程池与多进程

    封面图片来源:沙沙野 内容概览 进程池 进程池和多进程的性能测试 进程池的其他机制 进程池的回调函数 进程池 如果有多少个任务,就开启多少个进程,实际上并不划算.由于计算机的 cpu 个数是非常有限的 ...

  6. MultiProcessing中主进程与子进程之间通过管道(Pipe)通信

    Python 中 Multiprocessing 实现进程通信 1. 如何建立主进程与子进程之间的通信管道? 2. 为什么一定要将Pipe中的某些端close()? 本文参考自:python 学习笔记 ...

  7. python主进程 子进程_pool主进程捕获子进程异常

    问题背景: 主进程做任务调度,子进程做任务执行,子进程定时返回进度信息,主进程获取进度,进度为100时,子进程任务结束.子进程执行过程中如果有异常,主进程需要捕获 python多进程调度, 主进程如何 ...

  8. linux -- supervitord怎么杀出主进程派生出来的子进程。

    linux中部署某个小型项目的时候,使用supervitord来进行对该项目进程的守护,通过supervitord中的process的起停来进行项目地管理. 但是在测试的时候发现,通过supervit ...

  9. python子进程修改父进程内变量_如何将父变量传递给python中的子进程?

    这里的简单答案是:不要使用subprocess.Popen,使用 multiprocessing.Process.或者,更好的是,multiprocessing.Pool或 concurrent.fu ...

最新文章

  1. jQuery判断当前元素显示状态并控制元素的显示与隐藏
  2. 清理多个varnish服务器缓存的脚本
  3. Java程序(类的抽象与封装)
  4. Ubuntu16.04下Hadoop的本地安装与配置
  5. html5 json转字符串,web前端-js小记(5)-字符串及json
  6. Caffe RPN:把RPN网络layer添加到caffe基础结构中
  7. Spring系列(十一):@Profile 注解用法介绍
  8. 自动/持续部署Docker 的tomcat web项目(一)
  9. TCL电子港股暴涨10% 股价创5年新高
  10. 21. 面向服务的体系架构(SOA)
  11. 构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下后篇)—减少不必要...
  12. mac下charles使用教程
  13. Chrome 启动参数
  14. matlab二维傅里叶变化并得到频谱,图像的二维傅里叶变换和频谱
  15. Apple现行公开的framework简介
  16. 深圳基因组所刘永鑫组招聘博士后4名(3年100万+文章奖励+项目绩效)
  17. 游戏鼠标的dpi测试软件,高DPI无用?一分钟测试你所需的鼠标DPI
  18. 传统蓝牙和低功耗蓝牙的分类与区别?
  19. 从零开始手写VIO第三章作业(含关键点细节及思维过程)
  20. 计算机语言对传统文化的影响,网络文化对传统文化的冲击

热门文章

  1. linux 空硬盘,linux – dd在整个磁盘上,但不想要空的部分
  2. 匿名内部类----java
  3. java udp 协议_网络协议 - UDP 协议详解
  4. 搭建微服务_快速搭建 SpringCloud 微服务开发环境的脚手架
  5. Java try catch语句详解
  6. html怎么设置锯齿边框样式,CSS3实现边框锯齿效果
  7. 2021年慈溪中学高考成绩查询,2021年慈溪市高考状元名单资料,今年慈溪市高考状元多少分...
  8. 两个html页面之间通讯,面试官:前端跨页面通信,你知道哪些方法?
  9. python基础入门(7)之元组
  10. mysql数据库连接异常,mysql连接数据库时处理连接异常