\thinkProcess

Summary

Methods
Properties
Constants
__construct()
__destruct()
__clone()
run()
mustRun()
start()
restart()
wait()
getPid()
signal()
disableOutput()
enableOutput()
isOutputDisabled()
getOutput()
getIncrementalOutput()
clearOutput()
getErrorOutput()
getIncrementalErrorOutput()
clearErrorOutput()
getExitCode()
getExitCodeText()
isSuccessful()
hasBeenSignaled()
getTermSignal()
hasBeenStopped()
getStopSignal()
isRunning()
isStarted()
isTerminated()
getStatus()
stop()
addOutput()
addErrorOutput()
getCommandLine()
setCommandLine()
getTimeout()
getIdleTimeout()
setTimeout()
setIdleTimeout()
setTty()
isTty()
setPty()
isPty()
getWorkingDirectory()
setWorkingDirectory()
getEnv()
setEnv()
getInput()
setInput()
getOptions()
setOptions()
getEnhanceWindowsCompatibility()
setEnhanceWindowsCompatibility()
getEnhanceSigchildCompatibility()
setEnhanceSigchildCompatibility()
checkTimeout()
isPtySupported()
$exitCodes
ERR
OUT
STATUS_READY
STATUS_STARTED
STATUS_TERMINATED
STDIN
STDOUT
STDERR
TIMEOUT_PRECISION
buildCallback()
updateStatus()
isSigchildEnabled()
No protected properties found
N/A
getDescriptors()
validateTimeout()
readPipes()
captureExitCode()
close()
resetProcessData()
doSignal()
requireProcessIsStarted()
requireProcessIsTerminated()
$callback
$commandline
$cwd
$env
$input
$starttime
$lastOutputTime
$timeout
$idleTimeout
$options
$exitcode
$fallbackExitcode
$processInformation
$outputDisabled
$stdout
$stderr
$enhanceWindowsCompatibility
$enhanceSigchildCompatibility
$process
$status
$incrementalOutputOffset
$incrementalErrorOutputOffset
$tty
$pty
$useFileHandles
$processPipes
$latestSignal
$sigchild
N/A

Constants

ERR

ERR = 'err'

OUT

OUT = 'out'

STATUS_READY

STATUS_READY = 'ready'

STATUS_STARTED

STATUS_STARTED = 'started'

STATUS_TERMINATED

STATUS_TERMINATED = 'terminated'

STDIN

STDIN = 0

STDOUT

STDOUT = 1

STDERR

STDERR = 2

TIMEOUT_PRECISION

TIMEOUT_PRECISION = 0.2

Properties

$exitCodes

$exitCodes : array

Type

array

$callback

$callback

$commandline

$commandline

$cwd

$cwd

$env

$env

$input

$input

$starttime

$starttime

$lastOutputTime

$lastOutputTime

$timeout

$timeout

$idleTimeout

$idleTimeout

$options

$options

$exitcode

$exitcode

$fallbackExitcode

$fallbackExitcode

$processInformation

$processInformation

$outputDisabled

$outputDisabled

$stdout

$stdout

$stderr

$stderr

$enhanceWindowsCompatibility

$enhanceWindowsCompatibility

$enhanceSigchildCompatibility

$enhanceSigchildCompatibility

$process

$process

$status

$status

$incrementalOutputOffset

$incrementalOutputOffset

$incrementalErrorOutputOffset

$incrementalErrorOutputOffset

$tty

$tty

$pty

$pty

$useFileHandles

$useFileHandles

$processPipes

$processPipes : \think\process\pipes\Pipes

Type

Pipes

$latestSignal

$latestSignal

$sigchild

$sigchild

Methods

__construct()

__construct(string  $commandline, string|null  $cwd = null, array|null  $env = null, string|null  $input = null, int|float|null  $timeout = 60, array  $options = []) : mixed

构造方法

Parameters

string $commandline

指令

string|null $cwd

工作目录

array|null $env

环境变量

string|null $input

输入

int|float|null $timeout

超时时间

array $options

proc_open的选项

Throws

\RuntimeException

Returns

mixed —

__destruct()

__destruct() : mixed

Returns

mixed —

__clone()

__clone() : mixed

Returns

mixed —

run()

run(callable|null  $callback = null) : int

运行指令

Parameters

callable|null $callback

Returns

int —

mustRun()

mustRun(callable|null  $callback = null) : self

运行指令

Parameters

callable|null $callback

Throws

\RuntimeException
\think\process\exception\Failed

Returns

self —

start()

start(callable|null  $callback = null) : mixed

启动进程并写到 STDIN 输入后返回。

Parameters

callable|null $callback

Throws

\RuntimeException
\RuntimeException
\LogicException

Returns

mixed —

restart()

restart(callable|null  $callback = null) : \think\Process

重启进程

Parameters

callable|null $callback

Throws

\RuntimeException
\RuntimeException

Returns

\think\Process —

wait()

wait(callable|null  $callback = null) : int

等待要终止的进程

Parameters

callable|null $callback

Returns

int —

getPid()

getPid() : int|null

获取PID

Throws

\RuntimeException

Returns

int|null —

signal()

signal(int  $signal) : \think\Process

将一个 POSIX 信号发送到进程中

Parameters

int $signal

Returns

\think\Process —

disableOutput()

disableOutput() : \think\Process

禁用从底层过程获取输出和错误输出。

Returns

\think\Process —

enableOutput()

enableOutput() : \think\Process

开启从底层过程获取输出和错误输出。

Throws

\RuntimeException

Returns

\think\Process —

isOutputDisabled()

isOutputDisabled() : bool

输出是否禁用

Returns

bool —

getOutput()

getOutput() : string

获取当前的输出管道

Throws

\LogicException

Returns

string —

getIncrementalOutput()

getIncrementalOutput() : string

以增量方式返回的输出结果。

Returns

string —

clearOutput()

clearOutput() : \think\Process

清空输出

Returns

\think\Process —

getErrorOutput()

getErrorOutput() : string

返回当前的错误输出的过程 (STDERR)。

Returns

string —

getIncrementalErrorOutput()

getIncrementalErrorOutput() : string

以增量方式返回 errorOutput

Returns

string —

clearErrorOutput()

clearErrorOutput() : \think\Process

清空 errorOutput

Returns

\think\Process —

getExitCode()

getExitCode() : null|int

获取退出码

Returns

null|int —

getExitCodeText()

getExitCodeText() : null|string

获取退出文本

Returns

null|string —

isSuccessful()

isSuccessful() : bool

检查是否成功

Returns

bool —

hasBeenSignaled()

hasBeenSignaled() : bool

是否未捕获的信号已被终止子进程

Returns

bool —

getTermSignal()

getTermSignal() : int

返回导致子进程终止其执行的数。

Returns

int —

hasBeenStopped()

hasBeenStopped() : bool

检查子进程信号是否已停止

Returns

bool —

getStopSignal()

getStopSignal() : int

返回导致子进程停止其执行的数。

Returns

int —

isRunning()

isRunning() : bool

检查是否正在运行

Returns

bool —

isStarted()

isStarted() : bool

检查是否已开始

Returns

bool —

isTerminated()

isTerminated() : bool

检查是否已终止

Returns

bool —

getStatus()

getStatus() : string

获取当前的状态

Returns

string —

stop()

stop() : mixed

终止进程

Returns

mixed —

addOutput()

addOutput(string  $line) : mixed

添加一行输出

Parameters

string $line

Returns

mixed —

addErrorOutput()

addErrorOutput(string  $line) : mixed

添加一行错误输出

Parameters

string $line

Returns

mixed —

getCommandLine()

getCommandLine() : string

获取被执行的指令

Returns

string —

setCommandLine()

setCommandLine(string  $commandline) : self

设置指令

Parameters

string $commandline

Returns

self —

getTimeout()

getTimeout() : float|null

获取超时时间

Returns

float|null —

getIdleTimeout()

getIdleTimeout() : float|null

获取idle超时时间

Returns

float|null —

setTimeout()

setTimeout(int|float|null  $timeout) : self

设置超时时间

Parameters

int|float|null $timeout

Returns

self —

setIdleTimeout()

setIdleTimeout(int|float|null  $timeout) : self

设置idle超时时间

Parameters

int|float|null $timeout

Returns

self —

setTty()

setTty(bool  $tty) : self

设置TTY

Parameters

bool $tty

Returns

self —

isTty()

isTty() : bool

检查是否是tty模式

Returns

bool —

setPty()

setPty(bool  $bool) : self

设置pty模式

Parameters

bool $bool

Returns

self —

isPty()

isPty() : bool

是否是pty模式

Returns

bool —

getWorkingDirectory()

getWorkingDirectory() : string|null

获取工作目录

Returns

string|null —

setWorkingDirectory()

setWorkingDirectory(string  $cwd) : self

设置工作目录

Parameters

string $cwd

Returns

self —

getEnv()

getEnv() : array

获取环境变量

Returns

array —

setEnv()

setEnv(array  $env) : self

设置环境变量

Parameters

array $env

Returns

self —

getInput()

getInput() : null|string

获取输入

Returns

null|string —

setInput()

setInput(mixed  $input) : self

设置输入

Parameters

mixed $input

Returns

self —

getOptions()

getOptions() : array

获取proc_open的选项

Returns

array —

setOptions()

setOptions(array  $options) : self

设置proc_open的选项

Parameters

array $options

Returns

self —

getEnhanceWindowsCompatibility()

getEnhanceWindowsCompatibility() : bool

是否兼容windows

Returns

bool —

setEnhanceWindowsCompatibility()

setEnhanceWindowsCompatibility(bool  $enhance) : self

设置是否兼容windows

Parameters

bool $enhance

Returns

self —

getEnhanceSigchildCompatibility()

getEnhanceSigchildCompatibility() : bool

返回是否 sigchild 兼容模式激活

Returns

bool —

setEnhanceSigchildCompatibility()

setEnhanceSigchildCompatibility(bool  $enhance) : self

激活 sigchild 兼容性模式。

Parameters

bool $enhance

Returns

self —

checkTimeout()

checkTimeout() : mixed

是否超时

Returns

mixed —

isPtySupported()

isPtySupported() : bool

是否支持pty

Returns

bool —

buildCallback()

buildCallback(callable|null  $callback) : callable

建立 wait () 使用的回调。

Parameters

callable|null $callback

Returns

callable —

updateStatus()

updateStatus(bool  $blocking) : mixed

更新状态

Parameters

bool $blocking

Returns

mixed —

isSigchildEnabled()

isSigchildEnabled() : bool

是否开启 '--enable-sigchild'

Returns

bool —

getDescriptors()

getDescriptors() : array

创建所需的 proc_open 的描述符

Returns

array —

validateTimeout()

validateTimeout(int|float|null  $timeout) : float|null

验证是否超时

Parameters

int|float|null $timeout

Returns

float|null —

readPipes()

readPipes(bool  $blocking, bool  $close) : mixed

读取pipes

Parameters

bool $blocking
bool $close

Returns

mixed —

captureExitCode()

captureExitCode() : mixed

捕获退出码

Returns

mixed —

close()

close() : int

关闭资源

Returns

int —

退出码

resetProcessData()

resetProcessData() : mixed

重置数据

Returns

mixed —

doSignal()

doSignal(int  $signal, bool  $throwException) : bool

将一个 POSIX 信号发送到进程中。

Parameters

int $signal
bool $throwException

Returns

bool —

requireProcessIsStarted()

requireProcessIsStarted(string  $functionName) : mixed

确保进程已经开启

Parameters

string $functionName

Returns

mixed —

requireProcessIsTerminated()

requireProcessIsTerminated(string  $functionName) : mixed

确保进程已经终止

Parameters

string $functionName

Returns

mixed —