pcntl_exec() 函数的工作原理与标准 (unix 风格) exec() 函数完全相同。它与常规 PHP exec() 函数的不同之处在于,调用 pcntl_exec() 的进程被调用进程替换。这是创建子进程的理想方法。在一个简单的示例 (不进行错误检查) 中
switch (pcntl_fork()) {
case 0
$cmd = "/path/to/command";
$args = array("arg1", "arg2");
pcntl_exec($cmd, $args);
// 子进程只有在 exec 失败时才会到达这里,
// 因为执行会转移到 pcntl_exec()ed 命令
exit(0);
default
break;
}
// 父进程继续
echo "I am the parent";
--
由于这不是通过 shell 执行的,因此您必须提供从文件系统根目录开始的完整路径。有关更多信息,请查看 execve() 手册页。