\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 : 

Type

$commandline

$commandline : 

Type

$cwd

$cwd : 

Type

$env

$env : 

Type

$input

$input : 

Type

$starttime

$starttime : 

Type

$lastOutputTime

$lastOutputTime : 

Type

$timeout

$timeout : 

Type

$idleTimeout

$idleTimeout : 

Type

$options

$options : 

Type

$exitcode

$exitcode : 

Type

$fallbackExitcode

$fallbackExitcode : 

Type

$processInformation

$processInformation : 

Type

$outputDisabled

$outputDisabled : 

Type

$stdout

$stdout : 

Type

$stderr

$stderr : 

Type

$enhanceWindowsCompatibility

$enhanceWindowsCompatibility : 

Type

$enhanceSigchildCompatibility

$enhanceSigchildCompatibility : 

Type

$process

$process : 

Type

$status

$status : 

Type

$incrementalOutputOffset

$incrementalOutputOffset : 

Type

$incrementalErrorOutputOffset

$incrementalErrorOutputOffset : 

Type

$tty

$tty : 

Type

$pty

$pty : 

Type

$useFileHandles

$useFileHandles : 

Type

$latestSignal

$latestSignal : 

Type

$sigchild

$sigchild : 

Type

Methods

__construct()

__construct(string  $commandline, string|null  $cwd = null, array|null  $env = null, string|null  $input = null, integer|float|null  $timeout = 60, array  $options = array()) 

构造方法

Parameters

string $commandline

指令

string|null $cwd

工作目录

array|null $env

环境变量

string|null $input

输入

integer|float|null $timeout

超时时间

array $options

proc_open的选项

Throws

\RuntimeException

__destruct()

__destruct() 

__clone()

__clone() 

run()

run(callback|null  $callback = null) : integer

运行指令

Parameters

callback|null $callback

Returns

integer

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) 

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

Parameters

callable|null $callback

Throws

\RuntimeException
\RuntimeException
\LogicException

restart()

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

重启进程

Parameters

callable|null $callback

Throws

\RuntimeException
\RuntimeException

Returns

\think\Process

wait()

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

等待要终止的进程

Parameters

callable|null $callback

Returns

integer

getPid()

getPid() : integer|null

获取PID

Throws

\RuntimeException

Returns

integer|null

signal()

signal(integer  $signal) : \think\Process

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

Parameters

integer $signal

Returns

\think\Process

disableOutput()

disableOutput() : \think\Process

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

Returns

\think\Process

enableOutput()

enableOutput() : \think\Process

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

Throws

\RuntimeException

Returns

\think\Process

isOutputDisabled()

isOutputDisabled() : boolean

输出是否禁用

Returns

boolean

getOutput()

getOutput() : string

获取当前的输出管道

Throws

\LogicException
\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|integer

获取退出码

Returns

null|integer

getExitCodeText()

getExitCodeText() : null|string

获取退出文本

Returns

null|string

isSuccessful()

isSuccessful() : boolean

检查是否成功

Returns

boolean

hasBeenSignaled()

hasBeenSignaled() : boolean

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

Returns

boolean

getTermSignal()

getTermSignal() : integer

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

Returns

integer

hasBeenStopped()

hasBeenStopped() : boolean

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

Returns

boolean

getStopSignal()

getStopSignal() : integer

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

Returns

integer

isRunning()

isRunning() : boolean

检查是否正在运行

Returns

boolean

isStarted()

isStarted() : boolean

检查是否已开始

Returns

boolean

isTerminated()

isTerminated() : boolean

检查是否已终止

Returns

boolean

getStatus()

getStatus() : string

获取当前的状态

Returns

string

stop()

stop() 

终止进程

addOutput()

addOutput(string  $line) 

添加一行输出

Parameters

string $line

addErrorOutput()

addErrorOutput(string  $line) 

添加一行错误输出

Parameters

string $line

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(integer|float|null  $timeout) : self

设置超时时间

Parameters

integer|float|null $timeout

Returns

self

setIdleTimeout()

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

设置idle超时时间

Parameters

integer|float|null $timeout

Returns

self

setTty()

setTty(boolean  $tty) : self

设置TTY

Parameters

boolean $tty

Returns

self

isTty()

isTty() : boolean

检查是否是tty模式

Returns

boolean

setPty()

setPty(boolean  $bool) : self

设置pty模式

Parameters

boolean $bool

Returns

self

isPty()

isPty() : boolean

是否是pty模式

Returns

boolean

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() : boolean

是否兼容windows

Returns

boolean

setEnhanceWindowsCompatibility()

setEnhanceWindowsCompatibility(boolean  $enhance) : self

设置是否兼容windows

Parameters

boolean $enhance

Returns

self

getEnhanceSigchildCompatibility()

getEnhanceSigchildCompatibility() : boolean

返回是否 sigchild 兼容模式激活

Returns

boolean

setEnhanceSigchildCompatibility()

setEnhanceSigchildCompatibility(boolean  $enhance) : self

激活 sigchild 兼容性模式。

Parameters

boolean $enhance

Returns

self

checkTimeout()

checkTimeout() 

是否超时

isPtySupported()

isPtySupported() : boolean

是否支持pty

Returns

boolean

buildCallback()

buildCallback(callable|null  $callback) : callable

建立 wait () 使用的回调。

Parameters

callable|null $callback

Returns

callable

updateStatus()

updateStatus(boolean  $blocking) 

更新状态

Parameters

boolean $blocking

isSigchildEnabled()

isSigchildEnabled() : boolean

是否开启 '--enable-sigchild'

Returns

boolean

getDescriptors()

getDescriptors() : array

创建所需的 proc_open 的描述符

Returns

array

validateTimeout()

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

验证是否超时

Parameters

integer|float|null $timeout

Returns

float|null

readPipes()

readPipes(boolean  $blocking, boolean  $close) 

读取pipes

Parameters

boolean $blocking
boolean $close

captureExitCode()

captureExitCode() 

捕获退出码

close()

close() : integer

关闭资源

Returns

integer —

退出码

resetProcessData()

resetProcessData() 

重置数据

doSignal()

doSignal(integer  $signal, boolean  $throwException) : boolean

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

Parameters

integer $signal
boolean $throwException

Returns

boolean

requireProcessIsStarted()

requireProcessIsStarted(string  $functionName) 

确保进程已经开启

Parameters

string $functionName

requireProcessIsTerminated()

requireProcessIsTerminated(string  $functionName) 

确保进程已经终止

Parameters

string $functionName