PHP pcntl_exec 进程控制函数

  • 定义和用法

    pcntl_exec - 在当前进程空间执行指定程序
  • 版本支持

    PHP4 PHP5 PHP7
    支持 支持 支持
  • 语法

    pcntl_exec( string $path [, array $args [, array $envs ]] )
    pcntl_exec() 以给定参数执行程序。
  • 参数

    参数 必需的 描述
    path path必须时可执行二进制文件路径或一个在文件第一行指定了 一个可执行文件路径标头的脚本(比如文件第一行是#!/usr/local/bin/perl的perl脚本)。 更多的信息请查看您系统的execve(2)手册。
    args args是一个要传递给程序的参数的字符串数组。
    envs envs是一个要传递给程序作为环境变量的字符串数组。这个数组是 key => value格式的,key代表要传递的环境变量的名称,value代表该环境变量值。
  • 返回值

    当发生错误时返回 FALSE ,没有错误时没有返回。
  • 示例

    用脚本参数获得用户名,设置当前进程的用户id,组id,并在当前进程执行一个应用程序。
    $username = $_SERVER['argv'][1];
    
    $user = posix_getpwnam($username);
    posix_setuid($user['uid']);
    posix_setgid($user['gid']);
    pcntl_exec('/path/to/cmd');
    
  • 相关页面

    crypt() - 单向字符串散列
    hash_algos() - 返回已注册的哈希算法列表
    hash_init() - 初始化增量哈希运算上下文
    hash_hmac() - 使用 HMAC 方法生成带有密钥的哈希值
    hash_hmac_file() - 使用 HMAC 方法和给定文件的内容生成带密钥的哈希值
    hash_final() - 结束增量哈希,并且返回摘要结果
    hash_file() - 使用给定文件的内容生成哈希值
    pcntl_exec_file() - 从文件向活跃的哈希运算上下文中填充数据
    pcntl_exec_stream() - 从打开的流向活跃的哈希运算上下文中填充数据