\SwooleProcess

swoole进程管理类 内置IPC通信支持,子进程和主进程之间可以方便的通信 支持标准输入输出重定向,子进程内echo,会发送到管道中,而不是输出屏幕

Summary

Methods
Properties
Constants
__construct()
write()
read()
exec()
wait()
daemon()
useQueue()
push()
pop()
kill()
signal()
start()
name()
exit()
$pid
$pipe
IPC_NOWAIT
No protected methods found
No protected properties found
N/A
No private methods found
No private properties found
N/A

Constants

IPC_NOWAIT

IPC_NOWAIT = 256 : integer

Properties

$pid

$pid : integer

进程的PID

Type

integer

$pipe

$pipe : integer

管道PIPE

Type

integer

Methods

__construct()

__construct(callable  $callback, boolean  $redirect_stdin_stdout = false, boolean  $create_pipe = true) 

创建子进程 构造函数

Parameters

callable $callback

子进程的回调函数

boolean $redirect_stdin_stdout

是否重定向标准输入输出

boolean $create_pipe

是否创建管道

write()

write(string  $data) : integer

向管道内写入数据

Parameters

string $data

Returns

integer

read()

read(integer  $buffer_len = 8192) : string

从管道内读取数据

Parameters

integer $buffer_len

最大读取的长度 最大不超过64K

Returns

string

exec()

exec(string  $execute_file, array  $params) : boolean

执行另外的一个程序

Parameters

string $execute_file

可执行文件的路径

array $params

参数数组

Returns

boolean

wait()

wait(boolean  $blocking = true) : false

阻塞等待子进程退出,并回收 成功返回一个数组包含子进程的PID和退出状态码 如array('code' => 0, 'pid' => 15001),失败返回false

Parameters

boolean $blocking

是否阻塞等待

Returns

false —

| array

daemon()

daemon(boolean  $nochdir = false, boolean  $noclose = false) : boolean

使当前进程蜕变为一个守护进程

Parameters

boolean $nochdir

为true表示不要切换当前目录到根目录

boolean $noclose

为true表示不要关闭标准输入输出文件描述符

Returns

boolean

useQueue()

useQueue(integer  $msgkey = -1, integer  $mode = 2) 

创建消息队列

Parameters

integer $msgkey

消息队列KEY

integer $mode

模式

将队列设置为非阻塞 $process->useQueue($key, $mode | swoole_process::IPC_NOWAIT);

push()

push(string  $data) : boolean

向消息队列推送数据

Parameters

string $data

Returns

boolean

pop()

pop(integer  $maxsize = 8192) : string

从消息队列中提取数据

Parameters

integer $maxsize

获取数据的最大尺寸

Returns

string

kill()

kill(  $pid, integer  $sig = SIGTERM) : boolean

向某个进程发送信号

Parameters

$pid
integer $sig

Returns

boolean

signal()

signal(integer  $signo, mixed  $callback) : boolean

注册信号处理函数 require swoole 1.7.9+

Parameters

integer $signo
mixed $callback

Returns

boolean

start()

start() : integer|false

执行fork系统调用,启动进程

Returns

integer|false —

创建成功返回子进程的PID,创建失败返回false

name()

name(  $process_name) : boolean

为工作进程重命名

Parameters

$process_name

Returns

boolean

exit()

exit(integer  $code) : void

int 退出子进程 Class swoole_process

Parameters

integer $code