POSIX関数


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)