• swoole_process
swoole_process('执行的文件路径','文件所需的参数');//利用swoole-process执行一个外部脚本
swoole_process__construct(回调函数, redirect_stdin_stdout, 是否创建进程通信用的管道)
参数redirect_stdin_stdout 值为true子进程返回的结果不输出到屏幕,false输出到屏幕
swoole_process::wait()//程序执行完毕后,回收子进程
  • 用swoole_http_server实现一例http服务器
<?php
$server = new swoole_http_server('127.0.0.1',);
$server->on('request',function($request,$response){
$response->end("there is a game of love");
});
$server->start();
?>
  • 实现一个swoole_process对象管理的swoole_http_server进程(文件名:myhttpserver.php)
<?php
//每个进程都有一个进程ID
$sw = new swoole_process(function(swoole_process $sw){
$sw->exec('/usr/bin/php7',[__DIR__.'/../myhttpserver/myhttpserver.php']);
},false);
$pid =$sw->start();
echo $pid.PHP_EOL;
swoole_process::wait(); #等待程序运行完毕后,回收子进程
  • 在linux终端切换到程序所在位置调用php运行脚本swprocess.php
下图所示正是脚本文件swprocess.php中实例化的swoole_process进程也就是$pid = $sw->start()返回的那个$pid

  • ps aux|grep swprocess.php
这段代码用于查看运行swprocess.php的进程信息,由此可以看出,进程号12430是12431(swprocess.php脚本中开启的那段swoole_process)的父进程

  • pstree -p 13430  该命令的作用是查看进程的分支

  • ps -asf |grep myhttpserver
这里的myhttpserver就是脚本swprocess.php中开启子进程执行($sw->exec())的swoole_http_server进程,也就是运行myhttpserver.php的那个进程

一例swoole_process运行swoole_http_server的更多相关文章

  1. selenium-webdriver用例批量运行和测试套件使用 ------之我见

    用例批量运行和测试套件使用 ------之我见 学习selenium-webdriver已经一段时间了,最近学习到,测试用例的批量执行,和测试套件的使用,有点自己的理解,不晓得对不对,希望大家指正! ...

  2. RobotFramework_2.新建项目、新建用例、运行用例和查看测试报告

    RobotFramework的使用 新建一个项目 Robotframework-ride的界面 分了四个区域:菜单栏.工具栏.案例及资源区.工作区,如下图: 创建项目 首先,点击File-New Pr ...

  3. MOOC(8)- 在excel中定义用例是否运行

    除了在配置文件中定义运行哪几条用例,还可以直接在excel中定义好是否运行用例,这样比起配置文件更加直观 在运行用例的时候判断一下是否运行这个字段即可

  4. PHP初学者如何搭建环境,并在本地服务器(or云端服务器)运行自己的第一个PHP样例

    页面底部有PHP代码样例供测试使用. 1.PHP开发,你需要什么? 1)开发代码的工具,可以用IDE名字叫做phpDesigner.当然也可以临时用记事本代替,记得文件扩展名为.php 2)服务器(本 ...

  5. Python守护进程和脚本单例运行

    Python 守护进程 守护进程简介 进程运行有时候需要脱离当前运行环境,尤其是Linux和Unix环境中需要脱离Terminal运行,这个时候就要用到守护进程.守护进程可以脱离当前环境要素来执行,这 ...

  6. pytest 运行指定用例

    pytest运行指定用例 随着软件功能的增加,模块越来越多,也意味用例越来越多,为了节约执行时间,快速得到测试报告与结果,在工作中可以通过运行指定用例,达到快速执行用例 例子目录 spec_sub1_ ...

  7. am instrument 命令详解运行多个用例

    1 Instrument是什么? instrument为am命令的一个子命令.用于启动一个Instrumentation测试.首先连接手机或者模拟器,通过adb shell命令,进入shell层进行操 ...

  8. unittest 运行slenium(四)---通过指定用例的形式运行用例

    一: 说明 跟数据驱动唯一的区别为用例数据获取时,及运行方式不同. 其它都基本相同,可参考https://www.cnblogs.com/xiaodingdong/p/11753220.html 二: ...

  9. unittest 运行slenium(三)---通过数据驱动形式运行用例

    一: 获取数据 获取用例所在位置,通过OpenExcelPandas来读取用例里面的全部数据.通过某个列名来创建新的序号. 并将结果转换成list类型,将其作为ddt数据的来源. 1.  在test文 ...

随机推荐

  1. Linux正则表达式结合三剑客企业级实战

    1.取系统ip 解答: 1)ifconfig ens33 |sed -n '2p'|sed "s#inet##g"|sed 's#n.*$##g'  2)ifconfig ens3 ...

  2. 2019年5月份最热门的JavaScript开源项目

    五一假期后工作的第一天,不知道你们调整好状态没有呢? 1-libpku https://github.com/lib-pku/libpku     Star 15820 该项目是由一名北大在读大学生整 ...

  3. Photon Server初识(一) ---C#链接MySql

    环境: 1.MAC电脑,JetBrains Rider编辑器 2.本地MySql5.7 (开始安装8.1发现使用 NHibernate 映射链接不上) 一.新建工程 二.引入dll包(MySQL.Da ...

  4. Feign的雪崩处理

    在声明式远程服务调用Feign中,实现服务灾难性雪崩效应处理也是通过Hystrix实现的.而feign启动器spring-cloud-starter-feign中是包含Hystrix相关依赖的.如果只 ...

  5. Java中的自动拆装箱(转)

    出处: 一文读懂什么是Java中的自动拆装箱 本文主要介绍Java中的自动拆箱与自动装箱的有关知识.  基本数据类型 基本类型,或者叫做内置类型,是Java中不同于类(Class)的特殊类型.它们是我 ...

  6. Codeforces 1237D. Balanced Playlist

    传送门 首先显然的,如果一个位置开始播放了两圈还没结束,那么就永远不会结束 先考虑位置 $1$ 开始播放,用一个 $multisetset$ 维护一下当前听的所有歌,直到某一首歌 $r$ 不合法了就停 ...

  7. vb.net DBEntities框架联表查询 Join

    在项目中配置好DBEntities 使用两个表:主表Table, 子表Table_Item 主要是用到了委托和泛型,ForEach用的是不带返回值的委托 Sub GetDb() Dim st As N ...

  8. 支付宝小程序室内地图导航开发-支付宝小程序JS加载esmap地图

    如果是微信小程序开发,请参考微信小程序室内地图导航开发-微信小程序JS加载esmap地图文章 一.在支付宝小程序里显示室内三维地图 需要满足的两个条件 调用ESMap室内地图需要用到小程序web-vi ...

  9. Caffe Blob测试

    本例子来源于<21天实战Caffe> 代码如下: #include <vector> #include <iostream> #include <caffe/ ...

  10. 深入学习Mybatis框架(一)- 入门

    1.什么是Mybatis? Mybatis是一个优秀持久层框架,提供了对数据库的一系列操作(增删改查).Mybatis可以避免重复的写JDBC代码,让我们以较少的代码实现对数据库的操作,从而提高开发效 ...