POSIX関数
7655 ワード
POSIX:
:
IEEE 1003.1(POSIX.1) , 。
:
POSIX , , :posix_getpwnam() 。 ,POSIX 。 , , POSIX ( '--disable-posix')。
:
POSIX , '--disable-posix' POSIX
, 3 :
posix_access_constants - ,php5.1.0 :
POSIX_F_OK -
POSIX_R_OK - , ' '
POSIX_W_OK - , ' '
POSIX_X_OK - , ' '
posix_mknod_constants - ,php5.1.0 :
POSIX_S_IFBLK -
POSIX_S_IFCHR -
POSIX_S_IFIFO - FIFO(pipe- )
POSIX_S_IFREG -
POSIX_S_IFSOCK - socket
posix_setrlimit_constants - php7.0.0 :
, setrlimit() , POSIX limits , 。
POSIX_RLIMIT_AS - , bytes。 PHP 'memory_limit'
POSIX_RLIMIT_CORE - 。 0,
POSIX_RLIMIT_CPU - CPU , 。 (soft limit), 'SIGXCPU' , 'pcntl_signal()' 。 , 'SIGXCPU' , (hard limit), , 'SIGKILL' 。 'set_time_limit()'
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 - ( )。
:
posix_access(string $file[, int $mode = POSIX_F_OK])
:
$file -
$mode - , :POSIX_F_OK, POSIX_R_OK, POSIX_W_OK, POSIX_X_OK 。
posix_ctermid()
:
, 。 false, 。 'posix_get_last_error()'
posix_errno() - posix_get_last_error()
posix_get_last_error()
posix , 。 , 'posix_strerror()'
posix_strerror(int $errno)
, POSIX
posix_getcwd()
posix_getegid()
ID
posix_geteuid()
ID
posix_getgid()
ID
posix_getuid()
ID
posix_getgrgid(int $gid)
ID,
posix_getgrnam(string $name)
,
posix_getgroups()
:
, id
posix_getlogin()
:
posix_getpgid(int $pid)
( id),
:
POSIX , BSD System V 。 , 。 'function_exists()' ,
posix_getpgrp()
( id),
:POSIX.1 POSIX getpgrp(2) ,
posix_getpid()
( id)
posix_getppid()
( id)
posix_getpwnam(string $username)
,
:
, , , false:
name - 、 16 , 、 。 , $username ,
passwd - 。 , shadow , '*'
uid - ID
gid - ID。 posix_getgrgid()
gecos - , ',' 、 、 。 , 。
dir -
shell - shell
:
:
Array(
[name] => tom
[passwd] => x
[uid] => 10000
[gid] => 42
[gecos] => "tom,,," // ','
[dir] => "/home/tom"
[shell] => "/bin/bash"
)
posix_getpwuid(int $uid)
id,
posix_getrlimit()
。
- linux
- linux
, :0- , 。
:
, 。 。
core - 。 0, 。 ,
totalmem - , bytes
virtualmem - , bytes
data - , bytes
stack - , bytes
rss - RAM
maxproc - ID
memlock - RAM ,
cpu - CPU
filesize - , bytes
openfiles -
:
:
Array(
[soft core] => 0
[hard core] => unlimited
[soft data] => unlimited
[hard data] => unlimited
[soft stack] => 8388608
[hard stack] => unlimited
)
posix_getsid(int $pid)
session ID。 session ID (session leader) id
posix_initgroups(string $name, int $base_group_id)
,
:
$name -
$base_group_id - ID
posix_isatty(mixed $fd)
( tty)
:
$fd - , 。 。 , 。
posix_kill(int $pid, int $sig)
$sig !
:
$pid - id
$sig - PCNTL
posix_mkfifo(string $pathname, int $mode)
FIFO , ,
:
$pathname - FIFO ( )
$mode - 8 。 FIFO , umask() 。 (mode & ~umask)
posix_mknod(string $pathname, int $mode[, int $major = 0[, int $minor = 0]])
:
$pathname -
$mode - (POSIX_S_IFREG, POSIX_S_IFCHR, POSIX_S_IFBLK, POSIX_S_IFIFO, POSIX_S_IFSOCK ) (0664 ), 。
$major - ( S_IFCHR S_IFBLK , )
$minor -
posix_setegid(int $gid)
ID。 , ( root ), 。
posix_seteuid(int $uid)
ID。 , ( root ), 。
posix_setgid(int $gid)
ID。 , ( root ), 。 : posix_setgid(), posix_setuid()。
:
, ID
posix_setpgid(int $pid, int $pgid)
ID
posix_setrlimit(int $resource, int $softlimit, int $hardlimit)
。
:
$resource - posix_setrlimit_constants
$softlimit - , POSIX_RLIMIT_INFINITY -
$hardlimit - , POSIX_RLIMIT_INFINITY -
posix_setsid()
session leader( )
posix_setuid(int $uid)
ID。 , ( root ), 。
posix_times()
CUP
:
ticks - , clock ticks
utime -
stime -
cutime -
cstime -
:
, (high times) 。
posix_ttyname($mixed $fd)
:
$fd - , 。 。 , 。
posix_uname()
。
:
sysname - ( :Linux)
nodename - ( :valiant)
release - ( :2.6.15-1-686)
version - ( :#4 Tue Jul 20 17:01:36 MEST 1999)
machine - ( :i586)
domainname - DNS ( :baidu.com)