无需言 做自己 业 ,精于勤 荒于嬉.
- PCNTL 函数 pcntl_get_last_error Retrieve the error number set by the last pcntl function which failed
-
发表日期:2021-07-01 08:56:16 | 来源: | 分类:PCNTL 函数
-
pcntl_get_last_error
(PHP 5 >= 5.3.4, PHP 7, PHP 8)
pcntl_get_last_error — Retrieve the error number set by the last pcntl function which failed
说明
pcntl_get_last_error(): int警告本函数还未编写文档,仅有参数列表。
参数
此函数没有参数。
返回值
Returns error code.
参见
- pcntl_strerror() - Retrieve the system error message associated with the given errno
- PCNTL 函数 pcntl_sigwaitinfo 等待信号
-
发表日期:2021-07-01 08:56:16 | 来源: | 分类:PCNTL 函数
-
示例1
<?php echo "Blocking SIGHUP signal\n"; pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP)); echo "Sending SIGHUP to self\n"; posix_kill(posix_getpid(), SIGHUP); echo "Waiting for signals\n"; $info = array(); pcntl_sigwaitinfo(array(SIGHUP), $info); ?>
- PCNTL 函数 pcntl_signal 安装一个信号处理器
-
发表日期:2021-07-01 08:56:16 | 来源: | 分类:PCNTL 函数
-
示例1
<?php //使用ticks需要PHP 4.3.0以上版本declare(ticks = 1); //信号处理函数function sig_handler($signo){ switch ($signo) { case SIGTERM: // 处理SIGTERM信号 exit; break; case SIGHUP: //处理SIGHUP信号 break; case SIGUSR1: echo "Caught SIGUSR1...\n"; break; default: // 处理所有其他信号 } } echo "Installing signal handler...\n"; //安装信号处理器pcntl_signal(SIGTERM, "sig_handler"); pcntl_signal(SIGHUP, "sig_handler"); pcntl_signal(SIGUSR1, "sig_handler"); // 或者在PHP 4.3.0以上版本可以使用对象方法// pcntl_signal(SIGUSR1, array($obj, "do_something"); echo "Generating signal SIGTERM to self...\n"; //向当前进程发送SIGUSR1信号posix_kill(posix_getpid(), SIGUSR1); echo "Done\n"?>
- PCNTL 函数 pcntl_waitpid 等待或返回fork的子进程状态
-
发表日期:2021-07-01 08:56:16 | 来源: | 分类:PCNTL 函数
-
pcntl_waitpid
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
pcntl_waitpid — 等待或返回fork的子进程状态
说明
pcntl_waitpid(int$pid
, int&$status
, int$options
= 0): int挂起当前进程的执行直到参数
pid
指定的进程号的进程退出, 或接收到一个信号要求中断当前进程或调用一个信号处理函数。如果
pid
指定的子进程在此函数调用时已经退出(俗称僵尸进程),此函数 将立刻返回。关于waitpid更详细的规范请参见您系统的waitpid(2)手册。参数
-
pid
-
参数
pid
的值可以是以下之一:pid
可选值< -1
等待任意进程组ID等于参数 pid
给定值的绝对值的进程。-1
等待任意子进程;与pcntl_wait函数行为一致。 0
等待任意与调用进程组ID相同的子进程。 > 0
等待进程号等于参数 pid
值的子进程。注意:
指定
-1
作为pid
的值等同于pcntl_wait() 提供(负的options
)。 -
status
-
pcntl_waitpid()将会存储状态信息到
status
参数上,这个通过status
参数返回的状态信息可以用以下函数 pcntl_wifexited(), pcntl_wifstopped(), pcntl_wifsignaled(), pcntl_wexitstatus(), pcntl_wtermsig()以及 pcntl_wstopsig()获取其具体的值。 -
options
-
如果您的操作系统(多数BSD类系统)允许使用wait3,您可以提供可选的
options
参数。如果这个参数没有提供,wait将会被用作系统调用。如果wait3不可用,提供参数options
不会有任何效果。options
的值可以是0 或者以下两个常量或两个常量“或运算”结果(即两个常量代表意义都有效)。options
可用的值WNOHANG
如果没有子进程退出立刻返回。 WUNTRACED
子进程已经退出并且其状态未报告时返回。
返回值
pcntl_waitpid()返回退出的子进程进程号,发生错误时返回-1,如果提供了
WNOHANG
作为option(wait3可用的系统)并且没有可用子进程时返回0。参见
- pcntl_fork() - 在当前进程当前位置产生分支(子进程)。译注:fork是创建了一个子进程,父进程和子进程 都从fork的位置开始向下继续执行,不同的是父进程执行过程中,得到的fork返回值为子进程 号,而子进程得到的是0。
- pcntl_signal() - 安装一个信号处理器
- pcntl_wifexited() - 检查状态代码是否代表一个正常的退出。
- pcntl_wifstopped() - 检查子进程当前是否已经停止
- pcntl_wifsignaled() - 检查子进程状态码是否代表由于某个信号而中断
- pcntl_wexitstatus() - 返回一个中断的子进程的返回代码
- pcntl_wtermsig() - 返回导致子进程中断的信号
- pcntl_wstopsig() - 返回导致子进程停止的信号
-
- PCNTL 函数 pcntl_strerror Retrieve the system error message associated with the given errno
-
发表日期:2021-07-01 08:56:16 | 来源: | 分类:PCNTL 函数
-
pcntl_strerror
(PHP 5 >= 5.3.4, PHP 7, PHP 8)
pcntl_strerror — Retrieve the system error message associated with the given errno
说明
pcntl_strerror(int$errno
): string|false警告本函数还未编写文档,仅有参数列表。
参数
-
errno
-
返回值
Returns error description on success 或者在失败时返回
false
.参见
- pcntl_get_last_error() - Retrieve the error number set by the last pcntl function which failed
-
- PCNTL 函数 pcntl_sigtimedwait 带超时机制的信号等待
-
发表日期:2021-07-01 08:56:16 | 来源: | 分类:PCNTL 函数
-
pcntl_sigtimedwait
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
pcntl_sigtimedwait — 带超时机制的信号等待
说明
pcntl_sigtimedwait(
array$set
,
array&$siginfo
= ?,
int$seconds
= 0,
int$nanoseconds
= 0
): int函数pcntl_sigtimedwait()实际上与pcntl_sigwaitinfo() 的行为一致,不同在于它多了两个增强参数
seconds
和nanoseconds
,这使得脚本等待的事件有了一个时间的上限。参数
-
set
-
要等待的信号列表数组。
-
siginfo
-
siginfo
是一个输出参数,用来返回信号的信息。更详细情况参见 pcntl_sigwaitinfo()。 -
seconds
-
超时秒数。
-
nanoseconds
-
超时纳秒数。
返回值
成功时,函数pcntl_sigtimedwait()返回信号编号。
-
- PCNTL 函数 pcntl_wexitstatus 返回一个中断的子进程的返回代码
-
发表日期:2021-07-01 08:56:16 | 来源: | 分类:PCNTL 函数
-
pcntl_wexitstatus
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
pcntl_wexitstatus — 返回一个中断的子进程的返回代码
返回值
返回整形的子进程返回代码。
- PCNTL 函数 pcntl_wifexited 检查状态代码是否代表一个正常的退出。
-
发表日期:2021-07-01 08:56:16 | 来源: | 分类:PCNTL 函数
-
pcntl_wifexited
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
pcntl_wifexited — 检查状态代码是否代表一个正常的退出。
说明
pcntl_wifexited(int$status
): bool检查子进程状态代码是否代表正常退出。
返回值
当子进程状态代码代表正常退出时返回
true
,其他情况返回false
。
- PCNTL 函数 pcntl_wifstopped 检查子进程当前是否已经停止
-
发表日期:2021-07-01 08:56:16 | 来源: | 分类:PCNTL 函数
-
pcntl_wifstopped
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
pcntl_wifstopped — 检查子进程当前是否已经停止
说明
pcntl_wifstopped(int$status
): bool仅查子进程当前是否停止; 此函数只有作用于使用了
WUNTRACED
作为 option的pcntl_waitpid()函数调用产生的status时才有效。返回值
如果子进程当前是停止的返回
true
,其他情况返回false
。
- PCNTL 函数 pcntl_wstopsig 返回导致子进程停止的信号
-
发表日期:2021-07-01 08:56:16 | 来源: | 分类:PCNTL 函数
-
pcntl_wstopsig
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
pcntl_wstopsig — 返回导致子进程停止的信号
返回值
返回信号编号。
- PCNTL 函数 pcntl_fork 在当前进程当前位置产生分支(子进程)。译注:fork是创建了一个子进程,父进程和子进程 都从fork的位置开始向下继续执行,不同的是父进程执行过程中,得到的fork返回值为子进程 号,而子进程得到的是0。
-
发表日期:2021-07-01 08:56:15 | 来源: | 分类:PCNTL 函数
-
示例1
<?php $pid = pcntl_fork(); //父进程和子进程都会执行下面代码 if ($pid == -1) { //错误处理:创建子进程失败时返回-1. die('could not fork'); }else if ($pid) { //父进程会得到子进程号,所以这里是父进程执行的逻辑 pcntl_wait($status); //等待子进程中断,防止子进程成为僵尸进程。 }else{ //子进程得到的$pid为0, 所以这里是子进程执行的逻辑。 } ?>
- PCNTL 函数 pcntl_async_signals Enable/disable asynchronous signal handling or return the old setting
-
发表日期:2021-07-01 08:56:15 | 来源: | 分类:PCNTL 函数
-
pcntl_async_signals
(PHP 7 >= 7.1.0, PHP 8)
pcntl_async_signals — Enable/disable asynchronous signal handling or return the old setting
说明
pcntl_async_signals(bool$on
=null
): boolIf the
on
parameter is omitted, pcntl_async_signals() returns whether asynchronous signal handling is enabled. Otherwise, asynchronous signal handling is enabled or disabled.参数
-
on
-
Whether asynchronous signal handling should be enabled.
返回值
When used as getter (that is without the optional parameter) it returns whether asynchronous signal handling is enabled. When used as setter (that is with the optional parameter given), it returns whether asynchronous signal handling was enabled before the function call.
参见
- declare
-
- PCNTL 函数 pcntl_alarm 为进程设置一个alarm闹钟信号
-
发表日期:2021-07-01 08:56:15 | 来源: | 分类:PCNTL 函数
-
pcntl_alarm
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
pcntl_alarm — 为进程设置一个alarm闹钟信号
说明
pcntl_alarm(int$seconds
): int创建一个计时器,在指定的秒数后向进程发送一个
SIGALRM
信号。每次对 pcntl_alarm()的调用都会取消之前设置的alarm信号。参数
-
seconds
-
等待的秒数。如果
seconds
设置为0,将不会创建alarm信号。
返回值
返回上次alarm调度(离alarm信号发送)剩余的秒数,或者之前没有alarm调度(译注:或者之前调度已完成) 时返回
0
。 -
- PCNTL 函数 pcntl_exec 在当前进程空间执行指定程序
-
发表日期:2021-07-01 08:56:15 | 来源: | 分类:PCNTL 函数
-
pcntl_exec
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pcntl_exec — 在当前进程空间执行指定程序
说明
pcntl_exec(string$path
, array$args
= ?, array$envs
= ?): void以给定参数执行程序。
参数
-
path
-
path
必须时可执行二进制文件路径或一个在文件第一行指定了 一个可执行文件路径标头的脚本(比如文件第一行是#!/usr/local/bin/perl的perl脚本)。 更多的信息请查看您系统的execve(2)手册。 -
args
-
args
是一个要传递给程序的参数的字符串数组。 -
envs
-
envs
是一个要传递给程序作为环境变量的字符串数组。这个数组是 key => value格式的,key代表要传递的环境变量的名称,value代表该环境变量值。
返回值
当发生错误时返回
false
,没有错误时没有返回。 -
- 程序执行函数 proc_nice 修改当前进程的优先级
-
发表日期:2021-07-01 08:56:11 | 来源: | 分类:程序执行函数
-
示例1
<?php // Highest priorityproc_nice(-20); ?>
- 程序执行函数 escapeshellcmd shell 元字符转义
-
发表日期:2021-07-01 08:56:11 | 来源: | 分类:程序执行函数
-
示例1
<?php // 我们故意允许任意数量的参数$command = './configure '.$_POST['configure_options']; $escaped_command = escapeshellcmd($command); system($escaped_command); ?>
- 程序执行函数 shell_exec 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。
-
发表日期:2021-07-01 08:56:11 | 来源: | 分类:程序执行函数
-
示例1
<?php $output = shell_exec('ls -lart'); echo "<pre>$output</pre>"; ?>
- 程序执行函数 proc_open 执行一个命令,并且打开用来输入/输出的文件指针。
-
发表日期:2021-07-01 08:56:11 | 来源: | 分类:程序执行函数
-
示例1
<?php $descriptorspec = array( 0 => array("pipe", "r"), // 标准输入,子进程从此管道中读取数据 1 => array("pipe", "w"), // 标准输出,子进程向此管道中写入数据 2 => array("file", "/tmp/error-output.txt", "a") // 标准错误,写入到一个文件); $cwd = '/tmp'; $env = array('some_option' => 'aeiou'); $process = proc_open('php', $descriptorspec, $pipes, $cwd, $env); if (is_resource($process)) { // $pipes 现在看起来是这样的: // 0 => 可以向子进程标准输入写入的句柄 // 1 => 可以从子进程标准输出读取的句柄 // 错误输出将被追加到文件 /tmp/error-output.txt fwrite($pipes[0], '<?php print_r($_ENV); ?>'); fclose($pipes[0]); echo stream_get_contents($pipes[1]); fclose($pipes[1]); // 切记:在调用 proc_close 之前关闭所有的管道以避免死锁。 $return_value = proc_close($process); echo "command returned $return_value\n"; } ?>
示例2
<?php $descriptorspec = [STDIN, STDOUT, STDOUT]; $cmd = '"findstr" "search" "filename.txt"'; $proc = proc_open($cmd, $descriptorspec, $pipes); proc_close($proc); ?>
示例3
$cmd = '""findstr" "search" "filename.txt""';
- 程序执行函数 proc_terminate 杀除由 proc_open 打开的进程
-
发表日期:2021-07-01 08:56:11 | 来源: | 分类:程序执行函数
-
proc_terminate
(PHP 5, PHP 7, PHP 8)
proc_terminate — 杀除由 proc_open 打开的进程
说明
proc_terminate(resource$process
, int$signal
= 15): bool向
process
(由 proc_open() 函数创建) 发送信号通知其终止。 proc_terminate() 调用之后将会立即返回, 而不会等待进程终止。可以使用 proc_terminate() 终止进程 并且继续其他的任务。 可以使用 proc_get_status() 函数来检查进程是否已经终止。
参数
-
process
-
由 proc_open() 打开的 resource。
-
signal
-
可选参数,仅用于 POSIX 操作系统。 表示调用系统命令
kill(2)
来向进程发送的信号。 默认值为SIGTERM
。
返回值
返回进程的终止状态。
更新日志
版本 说明 5.2.2 之前的版本被用来销毁进程 resource
。参见
- proc_open() - 执行一个命令,并且打开用来输入/输出的文件指针。
- proc_close() - 关闭由 proc_open 打开的进程并且返回进程退出码
- proc_get_status() - 获取由 proc_open 函数打开的进程的信息
-
- 程序执行函数 proc_get_status 获取由 proc_open() 函数打开的进程的信息
-
发表日期:2021-07-01 08:56:11 | 来源: | 分类:程序执行函数
-
返回值
如果调用成功,则返回一个包含了进程信息的 array,如果发生错误,返回
false
。 返回的数组包含下列元素:元素 类型 描述 command string 传入 proc_open() 函数的命令行字符串。 pid int 进程 ID running bool true
表示进程还在运行中,false
表示进程已经终止signaled bool true
表示子进程被未捕获的信号所终止。 在 Windows 平台永远为false
。stopped bool true
表示子进程被信号停止。 在 Windows 平台永远为false
。exitcode int 进程的退出码(仅在 running
为false
时有意义)。 仅在第一次调用此函数时会返回实际的值, 后续的调用将返回-1
。termsig int 导致子进程终止执行的信号值 (仅在 signaled
为true
时有意义)。stopsig int 导致子进程停止执行的信号值 (仅在 stopped
为true
时有意义)。
- 前端开发(1)
- 数据库(0)
- PHP(0)
- PHP杂项(34)
- PHP基础-李炎恢系列课程(20)
- 中文函数手册(0)
- 错误处理 函数(13)
- OPcache 函数(6)
- PHP 选项/信息 函数(54)
- Zip 函数(10)
- Hash 函数(15)
- OpenSSL 函数(63)
- Date/Time 函数(51)
- 目录函数(9)
- Fileinfo 函数(6)
- iconv 函数(11)
- 文件系统函数(81)
- 多字节字符串 函数(57)
- GD 和图像处理 函数(114)
- 可交换图像信息(5)
- Math 函数(50)
- 程序执行函数(11)
- PCNTL 函数(23)
- JSON 函数(4)
- SPL 函数(15)
- URL 函数(10)
- cURL 函数(32)
- 网络 函数(33)
- FTP 函数(36)
- Session 函数(23)
- PCRE 函数(11)
- PCRE 正则语法(19)
- 数组 函数(81)
- 类/对象 函数(18)
- 函数处理 函数(13)
- 变量处理 函数(37)
- SimpleXML 函数(3)
- 杂项 函数(31)
- 字符串 函数(101)
- JAVA(0)
- Android(0)
- Linux(0)
- 其他(0)