posix模块包含与IEEE 1003.1(POSIX.1)标准文件中定义的系统功能调用接口,这些功能无法通过其他方式访问。
函数 | 说明 | 示例 |
posix_access | 确定文件的可访问性 | bool posix_access ( string $file [, int $mode = POSIX_F_OK ] ) |
posix_ctermid | 获取控制终端的路径名 | string posix_ctermid ( void ) |
posix_errno | 是 posix_get_last_error 函数的别名 | |
posix_get_last_error | 获取上一个失败的posix函数设置的错误码 | int posix_get_last_error ( void ) |
posix_getcwd | 当前目录的路径名 | string posix_getcwd ( void ) |
posix_getegid | 返回当前进程的有效组ID | int posix_getegid ( void ) |
posix_geteuid | 返回当前进程的有效用户ID | int posix_geteuid ( void ) |
posix_getgid | 返回当前进程的真实组ID | int posix_getgid ( void ) |
posix_getgrgid | 按组id返回有关组的信息 | array posix_getgrgid ( int $gid ) |
posix_getgrnam | 按名称返回有关组的信息 | array posix_getgrnam ( string $name ) |
posix_getgroups | 返回当前进程的组集合 | array posix_getgroups ( void ) |
posix_getlogin | 返回登录名 | string posix_getlogin ( void ) |
posix_getpgid | 获取作业控制的进程组id | int posix_getpgid ( int $pid ) |
posix_getpgrp | 返回当前进程组标识 | int posix_getpgrp ( void ) |
posix_getpid | 返回当前进程id | int posix_getpid ( void ) |
posix_getppid | 返回父进程标识符 | int posix_getppid ( void ) |
posix_getpwnam | 按用户名返回用户信息 | array posix_getpwnam ( string $username ) |
posix_getpwuid | 按用户id返回有关用户的信息 | array posix_getpwuid ( int $uid ) |
posix_getrlimit | 返回系统资源限制信息 | array posix_getrlimit ( void ) |
posix_getsid | 获取进程的当前sid(会话id) | int posix_getsid ( int $pid ) |
posix_getuid | 返回当前进程的真实用户ID | int posix_getuid ( void ) |
posix_initgroups | 计算组访问列表 | bool posix_initgroups ( string $name , int $base_group_id ) |
posix_isatty | 确定文件描述符是否为交互式终端 | bool posix_isatty ( mixed $fd ) |
posix_kill | 向进程发送信号 | bool posix_kill ( int $pid , int $sig ) |
posix_mkfifo | 创建一个fifo特殊文件(一个命名的管道) | bool posix_mkfifo ( string $pathname , int $mode ) |
posix_mknod | 创建一个特殊或普通文件(posix.1) | bool posix_mknod ( string $pathname , int $mode [, int $major = 0 [, int $minor = 0 ]] ) |
posix_setegid | 设置当前进程的有效GID | bool posix_setegid ( int $gid ) |
posix_seteuid | 设置当前进程的有效UID | bool posix_seteuid ( int $uid ) |
posix_setgid | 设置当前进程的GID | bool posix_setgid ( int $gid ) |
posix_setpgid | 为作业控制设置进程组id | bool posix_setpgid ( int $pid , int $pgid ) |
posix_setlimit | 设置系统资源限制 | bool posix_setrlimit ( int $resource , int $softlimit , int $hardlimit ) |
posix_setsid | 使当前进程成为会话领导者 | int posix_setsid ( void ) |
posix_setuid | 设置当前进程的UID | bool posix_setuid ( int $uid ) |
posix_strerror | 检索与给定errno关联的系统错误消息 | string posix_strerror ( int $errno ) |
posix_times | 获取处理时间 | array posix_times ( void ) |
posix_ttyname | 确定终端设备名称 | string posix_ttyname ( mixed $fd ) |
posix_uname | 获取系统名称 | array posix_uname ( void ) |
posix_access 函数涉及到的常量
- POSIX_F_OK - 检查文件是否存在
- POSIX_R_OK - 检查文件是否存在,且具有 "读" 权限
- POSIX_W_OK - 检查文件是否存在,且具有 "写" 权限
- POSIX_X_OK - 检查文件是否存在,且具有 "执行" 权限
posix_mknod 函数涉及到的常量
- POSIX_S_IFBLK - 块特殊文件
- POSIX_S_IFCHR - 字符特殊文件
- POSIX_S_IFIFO - FIFO(pipe-管道)特殊文件
- POSIX_S_IFREG - 普通文件
- POSIX_S_IFSOCK - socket
posix_setrlimit 函数涉及到的常量
POSIX_RLIMIT_AS - 进程地址空间的最大尺寸,单位是bytes。也可查看PHP的 "memory_limit" 配置指令
POSIX_RLIMIT_CORE - 核心文件的最大尺寸。如果设置为0,将不会生成核心文件
POSIX_RLIMIT_CPU - 进程可使用的CPU最大时间,单位是秒。当达到软限制(soft limit),将发送一个 "SIGXCPU" 信号,这个信号可以被 "pcntl_signal()" 捕获。依赖于操作系统,每秒都会发送额外的 "SIGXCPU"
POSIX_RLIMIT_DATA - 进程数据段的最大尺寸,单位是bytes。这基本不会对PHP的执行造成任何影响,除非使用了一个叫做 "brk()" 或 "sbrk()"
的扩展
POSIX_RLIMIT_FSIZE - 进程可以创建的文件的最大尺寸,单位是bytes
POSIX_RLIMIT_LOCKS - 进程可以创建的最大的锁定数量。仅支持非常老版的linux内核
POSIX_RLIMIT_MEMLOCK - 内存中,可以锁定的最大字节数
POSIX_RLIMIT_MSGQUEUE - 可以分配给 POSIX 消息队列的最大字节数。PHP不支持POSIX 消息队列,因此,这个限制没有任何影响,除非,你使用了一个实现了支持 "POSIX_RLIMIT_MSGQUEUE" 的扩展
POSIX_RLIMIT_NICE - 进程可以设置 "renice"(linux进程的优先级之类的) 的最大值。值可以被设置为:20-我们设置的值,作为资源限制,不能设置为负
POSIX_RLIMIT_NOFILE - 进程可以打开的 >(大于)最大文件描述符数字的值。
POSIX_RLIMIT_NPROC - 进程的真实用户ID可以创建的进程(和线程、或者线程,在一些操作系统上)的最大个数。
POSIX_RLIMIT_RSS - 进程的常驻集合的最大尺寸,单位是 pages
POSIX_RLIMIT_RTPRIO - 通过 "sched_setscheduler()" 和 "sched_setparam()" 系统调用,可以设置的最大真实时间优先。
POSIX_RLIMIT_RTTIME - 如果使用真实的时间调度,在不进行阻塞的系统调用下,进程可以消耗掉最大CPU时间,单位是微秒
POSIX_RLIMIT_SIGPENDING - 进程的真实用户ID,可以设置的信号队列的最大个数
POSIX_RLIMIT_STACK - 进程栈的最大尺寸,单位是bytes
POSIX_RLIMIT_INFINITY - 用于指明资源大小不受限制(给资源限制设置了一个无限大值)。