logo资料库

Portable Operating System Interface (POSIX) ISO/IEC/ IEEE 9945 (....pdf

第1页 / 共3880页
第2页 / 共3880页
第3页 / 共3880页
第4页 / 共3880页
第5页 / 共3880页
第6页 / 共3880页
第7页 / 共3880页
第8页 / 共3880页
资料共3880页,剩余部分请下载后查看
ISO/IEC/IEEE 9945:2009(E)
Foreword
IEEE Std 1003.1™-2008
Title Page
Abstract
Keywords
IEEE
The Open Group
Introduction
Background/Audience
Purpose
POSIX.1-2008
Base Definitions
System Interfaces
Shell and Utilities
Rationale (Informative
Typographical Conventions
Notice to Users
Laws and Regulations
Copyrights
Updating of IEEE Documents
Errata/Feedback
Interpretations/Patents
Contents
Trademarks
Acknowledgements
Referenced Documents
IMPORTANT NOTICE
XBD
1 Introduction
1.1 Scope
1.2 Conformance
1.3 Normative References
1.4 Change History
1.5 Terminology
1.6 Definitions and Concepts
1.7 Portability
1.7.1 Codes
1.7.2 Margin Code Notation
2 Conformance
2.1 Implementation Conformance
2.1.1 Requirements
2.1.2 Documentation
2.1.3 POSIX Conformance
2.1.4 XSI Conformance
2.1.5 Option Groups
2.1.6 Options
2.2 Application Conformance
2.2.1 Strictly Conforming POSIX Application
2.2.2 Conforming POSIX Application
2.2.3 Conforming POSIX Application Using Extensions
2.2.4 Strictly Conforming XSI Application
2.2.5 Conforming XSI Application Using Extensions
2.3 Language-Dependent Services for the C Programming Language
2.4 Other Language-Related Specifications
3 Definitions
3.1 Abortive Release
3.2 Absolute Pathname
3.3 Access Mode
3.4 Additional File Access Control Mechanism
3.5 Address Space
3.6 Advisory Information
3.7 Affirmative Response
3.8 Alert
3.9 Alert Character ()
3.10 Alias Name
3.11 Alignment
3.12 Alternate File Access Control Mechanism
3.13 Alternate Signal Stack
3.14 Ancillary Data
3.15 Angle Brackets
3.16 Apostrophe Character ()
3.17 Application
3.18 Application Address
3.19 Application Program Interface (API)
3.20 Appropriate Privileges
3.21 Argument
3.22 Arm (a Timer)
3.23 Asterisk Character ()
3.24 Async-Cancel-Safe Function
3.25 Asynchronous Events
3.26 Asynchronous Input and Output
3.27 Async-Signal-Safe Function
3.28 Asynchronously-Generated Signal
3.29 Asynchronous I/O Completion
3.30 Asynchronous I/O Operation
3.31 Authentication
3.32 Authorization
3.33 Background Job
3.34 Background Process
3.35 Background Process Group (or Background Job)
3.36 Backquote Character
3.37 Backslash Character ()
3.38 Backspace Character ()
3.39 Barrier
3.40 Basename
3.41 Basic Regular Expression (BRE)
3.42 Batch Access List
3.43 Batch Administrator
3.44 Batch Client
3.45 Batch Destination
3.46 Batch Destination Identifier
3.47 Batch Directive
3.48 Batch Job
3.49 Batch Job Attribute
3.50 Batch Job Identifier
3.51 Batch Job Name
3.52 Batch Job Owner
3.53 Batch Job Priority
3.54 Batch Job State
3.55 Batch Name Service
3.56 Batch Name Space
3.57 Batch Node
3.58 Batch Operator
3.59 Batch Queue
3.60 Batch Queue Attribute
3.61 Batch Queue Position
3.62 Batch Queue Priority
3.63 Batch Rerunability
3.64 Batch Restart
3.65 Batch Server
3.66 Batch Server Name
3.67 Batch Service
3.68 Batch Service Request
3.69 Batch Submission
3.70 Batch System
3.71 Batch Target User
3.72 Batch User
3.73 Bind
3.74 Blank Character ()
3.75 Blank Line
3.76 Blocked Process (or Thread)
3.77 Blocking
3.78 Block-Mode Terminal
3.79 Block Special File
3.80 Braces
3.81 Brackets
3.82 Broadcast
3.83 Built-In Utility (or Built-In)
3.84 Byte
3.85 Byte Input/Output Functions
3.86 Carriage-Return Character ()
3.87 Character
3.88 Character Array
3.89 Character Class
3.90 Character Set
3.91 Character Special File
3.92 Character String
3.93 Child Process
3.94 Circumflex Character ()
3.95 Clock
3.96 Clock Jump
3.97 Clock Tick
3.98 Coded Character Set
3.99 Codeset
3.100 Collating Element
3.101 Collation
3.102 Collation Sequence
3.103 Column Position
3.104 Command
3.105 Command Language Interpreter
3.106 Composite Graphic Symbol
3.107 Condition Variable
3.108 Connected Socket
3.109 Connection
3.110 Connection Mode
3.111 Connectionless Mode
3.112 Control Character
3.113 Control Operator
3.114 Controlling Process
3.115 Controlling Terminal
3.116 Conversion Descriptor
3.117 Core File
3.118 CPU Time (Execution Time)
3.119 CPU-Time Clock
3.120 CPU-Time Timer
3.121 Current Job
3.122 Current Working Directory
3.123 Cursor Position
3.124 Datagram
3.125 Data Segment
3.126 Deferred Batch Service
3.127 Device
3.128 Device ID
3.129 Directory
3.130 Directory Entry (or Link)
3.131 Directory Stream
3.132 Disarm (a Timer)
3.133 Display
3.134 Display Line
3.135 Dollar-Sign Character ()
3.136 Dot
3.137 Dot-Dot
3.138 Double-Quote Character
3.139 Downshifting
3.140 Driver
3.141 Effective Group ID
3.142 Effective User ID
3.143 Eight-Bit Transparency
3.144 Empty Directory
3.145 Empty Line
3.146 Empty String (or Null String)
3.147 Empty Wide-Character String
3.148 Encoding Rule
3.149 Entire Regular Expression
3.150 Epoch
3.151 Equivalence Class
3.152 Era
3.153 Event Management
3.154 Executable File
3.155 Execute
3.156 Execution Time
3.157 Execution Time Monitoring
3.158 Expand
3.159 Extended Regular Expression (ERE)
3.160 Extended Security Controls
3.161 Feature Test Macro
3.162 Field
3.163 FIFO Special File (or FIFO)
3.164 File
3.165 File Description
3.166 File Descriptor
3.167 File Group Class
3.168 File Mode
3.169 File Mode Bits
3.170 Filename
3.171 File Offset
3.172 File Other Class
3.173 File Owner Class
3.174 File Permission Bits
3.175 File Serial Number
3.176 File System
3.177 File Type
3.178 Filter
3.179 First Open (of a File)
3.180 Flow Control
3.181 Foreground Job
3.182 Foreground Process
3.183 Foreground Process Group (or Foreground Job)
3.184 Foreground Process Group ID
3.185 Form-Feed Character ()
3.186 Graphic Character
3.187 Group Database
3.188 Group ID
3.189 Group Name
3.190 Hard Limit
3.191 Hard Link
3.192 Home Directory
3.193 Host Byte Order
3.194 Incomplete Line
3.195 Inf
3.196 Instrumented Application
3.197 Interactive Shell
3.198 Internationalization
3.199 Interprocess Communication
3.200 Invoke
3.201 Job
3.202 Job Control
3.203 Job Control Job ID
3.204 Last Close (of a File)
3.205 Line
3.206 Linger
3.207 Link
3.208 Link Count
3.209 Local Customs
3.210 Local Interprocess Communication (Local IPC)
3.211 Locale
3.212 Localization
3.213 Login
3.214 Login Name
3.215 Map
3.216 Marked Message
3.217 Matched
3.218 Memory Mapped Files
3.219 Memory Object
3.220 Memory-Resident
3.221 Message
3.222 Message Catalog
3.223 Message Catalog Descriptor
3.224 Message Queue
3.225 Mode
3.226 Monotonic Clock
3.227 Mount Point
3.228 Multi-Character Collating Element
3.229 Mutex
3.230 Name
3.231 Named STREAM
3.232 NaN (Not a Number)
3.233 Native Language
3.234 Negative Response
3.235 Network
3.236 Network Address
3.237 Network Byte Order
3.238 Newline Character ()
3.239 Nice Value
3.240 Non-Blocking
3.241 Non-Spacing Characters
3.242 NUL
3.243 Null Byte
3.244 Null Pointer
3.245 Null String
3.246 Null Wide-Character Code
3.247 Number-Sign Character ()
3.248 Object File
3.249 Octet
3.250 Offset Maximum
3.251 Opaque Address
3.252 Open File
3.253 Open File Description
3.254 Operand
3.255 Operator
3.256 Option
3.257 Option-Argument
3.258 Orientation
3.259 Orphaned Process Group
3.260 Page
3.261 Page Size
3.262 Parameter
3.263 Parent Directory
3.264 Parent Process
3.265 Parent Process ID
3.266 Pathname
3.267 Pathname Component
3.268 Path Prefix
3.269 Pattern
3.270 Period Character ()
3.271 Permissions
3.272 Persistence
3.273 Pipe
3.274 Polling
3.275 Portable Character Set
3.276 Portable Filename Character Set
3.277 Positional Parameter
3.278 Preallocation
3.279 Preempted Process (or Thread)
3.280 Previous Job
3.281 Printable Character
3.282 Printable File
3.283 Priority
3.284 Priority Band
3.285 Priority Inversion
3.286 Priority Scheduling
3.287 Priority-Based Scheduling
3.288 Privilege
3.289 Process
3.290 Process Group
3.291 Process Group ID
3.292 Process Group Leader
3.293 Process Group Lifetime
3.294 Process ID
3.295 Process Lifetime
3.296 Process Memory Locking
3.297 Process Termination
3.298 Process-To-Process Communication
3.299 Process Virtual Time
3.300 Program
3.301 Protocol
3.302 Pseudo-Terminal
3.303 Radix Character
3.304 Read-Only File System
3.305 Read-Write Lock
3.306 Real Group ID
3.307 Real Time
3.308 Realtime Signal Extension
3.309 Real User ID
3.310 Record
3.311 Redirection
3.312 Redirection Operator
3.313 Referenced Shared Memory Object
3.314 Refresh
3.315 Regular Expression
3.316 Region
3.317 Regular File
3.318 Relative Pathname
3.319 Relocatable File
3.320 Relocation
3.321 Requested Batch Service
3.322 (Time) Resolution
3.323 Robust Mutex
3.324 Root Directory
3.325 Runnable Process (or Thread)
3.326 Running Process (or Thread)
3.327 Saved Resource Limits
3.328 Saved Set-Group-ID
3.329 Saved Set-User-ID
3.330 Scheduling
3.331 Scheduling Allocation Domain
3.332 Scheduling Contention Scope
3.333 Scheduling Policy
3.334 Screen
3.335 Scroll
3.336 Semaphore
3.337 Session
3.338 Session Leader
3.339 Session Lifetime
3.340 Shared Memory Object
3.341 Shell
3.342 Shell, the
3.343 Shell Script
3.344 Signal
3.345 Signal Stack
3.346 Single-Quote Character
3.347 Slash Character ()
3.348 Socket
3.349 Socket Address
3.350 Soft Limit
3.351 Source Code
3.352 Space Character ()
3.353 Spawn
3.354 Special Built-In
3.355 Special Parameter
3.356 Spin Lock
3.357 Sporadic Server
3.358 Standard Error
3.359 Standard Input
3.360 Standard Output
3.361 Standard Utilities
3.362 Stream
3.363 STREAM
3.364 STREAM End
3.365 STREAM Head
3.366 STREAMS Multiplexor
3.367 String
3.368 Subshell
3.369 Successfully Transferred
3.370 Supplementary Group ID
3.371 Suspended Job
3.372 Symbolic Constant
3.373 Symbolic Link
3.374 Synchronized Input and Output
3.375 Synchronized I/O Completion
3.376 Synchronized I/O Data Integrity Completion
3.377 Synchronized I/O File Integrity Completion
3.378 Synchronized I/O Operation
3.379 Synchronous I/O Operation
3.380 Synchronously-Generated Signal
3.381 System
3.382 System Boot
3.383 System Clock
3.384 System Console
3.385 System Crash
3.386 System Databases
3.387 System Documentation
3.388 System Process
3.389 System Reboot
3.390 System Trace Event
3.391 System-Wide
3.392 Tab Character ()
3.393 Terminal (or Terminal Device)
3.394 Text Column
3.395 Text File
3.396 Thread
3.397 Thread ID
3.398 Thread List
3.399 Thread-Safe
3.400 Thread-Specific Data Key
3.401 Tilde Character ()
3.402 Timeouts
3.403 Timer
3.404 Timer Overrun
3.405 Token
3.406 Trace Analyzer Process
3.407 Trace Controller Process
3.408 Trace Event
3.409 Trace Event Type
3.410 Trace Event Type Mapping
3.411 Trace Filter
3.412 Trace Generation Version
3.413 Trace Log
3.414 Trace Point
3.415 Trace Stream
3.416 Trace Stream Identifier
3.417 Trace System
3.418 Traced Process
3.419 Tracing Status of a Trace Stream
3.420 Typed Memory Name Space
3.421 Typed Memory Object
3.422 Typed Memory Pool
3.423 Typed Memory Port
3.424 Unbind
3.425 Unit Data
3.426 Upshifting
3.427 User Database
3.428 User ID
3.429 User Name
3.430 User Trace Event
3.431 Utility
3.432 Variable
3.433 Vertical-Tab Character ()
3.434 White Space
3.435 Wide-Character Code (C Language)
3.436 Wide-Character Input/Output Functions
3.437 Wide-Character String
3.438 Word
3.439 Working Directory (or Current Working Directory)
3.440 Worldwide Portability Interface
3.441 Write
3.442 XSI
3.443 XSI-Conformant
3.444 Zombie Process
3.445 Plus or Minus Zero
4 General Concepts
4.1 Concurrent Execution
4.2 Directory Protection
4.3 Extended Security Controls
4.4 File Access Permissions
4.5 File Hierarchy
4.6 Filenames
4.7 Filename Portability
4.8 File Times Update
4.9 Host and Network Byte Orders
4.10 Measurement of Execution Time
4.11 Memory Synchronization
4.12 Pathname Resolution
4.13 Process ID Reuse
4.14 Scheduling Policy
4.15 Seconds Since the Epoch
4.16 Semaphore
4.17 Thread-Safety
4.18 Tracing
4.19 Treatment of Error Conditions for Mathematical Functions
4.19.1 Domain Error
4.19.2 Pole Error
4.19.3 Range Error
4.20 Treatment of NaN Arguments for the Mathematical Functions
4.21 Utility
4.22 Variable Assignment
5 File Format Notation
6 Character Set
6.1 Portable Character Set
6.2 Character Encoding
6.3 C Language Wide-Character Codes
6.4 Character Set Description File
6.4.1 State-Dependent Character Encodings
7 Locale
7.1 General
7.2 POSIX Locale
7.3 Locale Definition
7.3.1 LC_CTYPE
7.3.2 LC_COLLATE
7.3.3 LC_MONETARY
7.3.4 LC_NUMERIC
7.3.5 LC_TIME
7.3.6 LC_MESSAGES
7.4 Locale Definition Grammar
7.4.1 Locale Lexical Conventions
7.4.2 Locale Grammar
8 Environment Variables
8.1 Environment Variable Definition
8.2 Internationalization Variables
8.3 Other Environment Variables
9 Regular Expressions
9.1 Regular Expression Definitions
9.2 Regular Expression General Requirements
9.3 Basic Regular Expressions
9.3.1 BREs Matching a Single Character or Collating Element
9.3.2 BRE Ordinary Characters
9.3.3 BRE Special Characters
9.3.4 Periods in BREs
9.3.5 RE Bracket Expression
9.3.6 BREs Matching Multiple Characters
9.3.7 BRE Precedence
9.3.8 BRE Expression Anchoring
9.4 Extended Regular Expressions
9.4.1 EREs Matching a Single Character or Collating Element
9.4.2 ERE Ordinary Characters
9.4.3 ERE Special Characters
9.4.4 Periods in EREs
9.4.5 ERE Bracket Expression
9.4.6 EREs Matching Multiple Characters
9.4.7 ERE Alternation
9.4.8 ERE Precedence
9.4.9 ERE Expression Anchoring
9.5 Regular Expression Grammar
9.5.1 BRE/ERE Grammar Lexical Conventions
9.5.2 RE and Bracket Expression Grammar
9.5.3 ERE Grammar
10 Directory Structure and Devices
10.1 Directory Structure and Files
10.2 Output Devices and Terminal Types
11 General Terminal Interface
11.1 Interface Characteristics
11.1.1 Opening a Terminal Device File
11.1.2 Process Groups
11.1.3 The Controlling Terminal
11.1.4 Terminal Access Control
11.1.5 Input Processing and Reading Data
11.1.6 Canonical Mode Input Processing
11.1.7 Non-Canonical Mode Input Processing
11.1.8 Writing Data and Output Processing
11.1.9 Special Characters
11.1.10 Modem Disconnect
11.1.11 Closing a Terminal Device File
11.2 Parameters that Can be Set
11.2.1 The termios Structure
11.2.2 Input Modes
11.2.3 Output Modes
11.2.4 Control Modes
11.2.5 Local Modes
11.2.6 Special Control Characters
12 Utility Conventions
12.1 Utility Argument Syntax
12.2 Utility Syntax Guidelines
13 Headers
XSH
1 Introduction
1.1 Relationship to Other Formal Standards
1.2 Format of Entries
2 General Information
2.1 Use and Implementation of Interfaces
2.1.1 Use and Implementation of Functions
2.1.2 Use and Implementation of Macros
2.2 The Compilation Environment
2.2.1 POSIX.1 Symbols
2.2.2 The Name Space
2.3 Error Numbers
2.3.1 Additional Error Numbers
2.4 Signal Concepts
2.4.1 Signal Generation and Delivery
2.4.2 Realtime Signal Generation and Delivery
2.4.3 Signal Actions
2.4.4 Signal Effects on Other Functions
2.5 Standard I/O Streams
2.5.1 Interaction of File Descriptors and Standard I/O Streams
2.5.2 Stream Orientation and Encoding Rules
2.6 STREAMS
2.6.1 Accessing STREAMS
2.7 XSI Interprocess Communication
2.7.1 IPC General Description
2.8 Realtime
2.8.1 Realtime Signals
2.8.2 Asynchronous I/O
2.8.3 Memory Management
2.8.4 Process Scheduling
2.8.5 Clocks and Timers
2.9 Threads
2.9.1 Thread-Safety
2.9.2 Thread IDs
2.9.3 Thread Mutexes
2.9.4 Thread Scheduling
2.9.5 Thread Cancellation
2.9.6 Thread Read-Write Locks
2.9.7 Thread Interactions with Regular File Operations
2.9.8 Use of Application-Managed Thread Stacks
2.10 Sockets
2.10.1 Address Families
2.10.2 Addressing
2.10.3 Protocols
2.10.4 Routing
2.10.5 Interfaces
2.10.6 Socket Types
2.10.7 Socket I/O Mode
2.10.8 Socket Owner
2.10.9 Socket Queue Limits
2.10.10 Pending Error
2.10.11 Socket Receive Queue
2.10.12 Socket Out-of-Band Data State
2.10.13 Connection Indication Queue
2.10.14 Signals
2.10.15 Asynchronous Errors
2.10.16 Use of Options
2.10.17 Use of Sockets for Local UNIX Connections
2.10.18 Use of Sockets over Internet Protocols
2.10.19 Use of Sockets over Internet Protocols Based on IPv4
2.10.20 Use of Sockets over Internet Protocols Based on IPv6
2.11 Tracing
2.11.1 Tracing Data Definitions
2.11.2 Trace Event Type Definitions
2.11.3 Trace Functions
2.12 Data Types
2.12.1 Defined Types
2.12.2 The char Type
2.12.3 Pointer Types
3 System Interfaces
FD_CLR
_Exit
_longjmp
_tolower
_toupper
a64l
abort
abs
accept
access
acos
acosh
acosl
aio_cancel
aio_error
aio_fsync
aio_read
aio_return
aio_suspend
aio_write
alarm
alphasort
asctime
asin
asinh
asinl
assert
atan
atan2
atanf
atanh
atanl
atexit
atof
atoi
atol
basename
bind
bsearch
btowc
cabs
cacos
cacosh
cacosl
calloc
carg
casin
casinh
casinl
catan
catanh
catanl
catclose
catgets
catopen
cbrt
ccos
ccosh
ccosl
ceil
cexp
cfgetispeed
cfgetospeed
cfsetispeed
cfsetospeed
chdir
chmod
chown
cimag
clearerr
clock
clock_getcpuclockid
clock_getres
clock_nanosleep
clock_settime
clog
close
closedir
closelog
confstr
conj
connect
copysign
cos
cosh
cosl
cpow
cproj
creal
creat
crypt
csin
csinh
csinl
csqrt
ctan
ctanh
ctanl
ctermid
ctime
daylight
dbm_clearerr
difftime
dirfd
dirname
div
dlclose
dlerror
dlopen
dlsym
dprintf
drand48
dup
duplocale
encrypt
endgrent
endhostent
endnetent
endprotoent
endpwent
endservent
endutxent
environ
erand48
erf
erfc
erff
errno
exec
exit
exp
exp2
expm1
fabs
faccessat
fattach
fchdir
fchmod
fchmodat
fchown
fchownat
fclose
fcntl
fdatasync
fdetach
fdim
fdopen
fdopendir
feclearexcept
fegetenv
fegetexceptflag
fegetround
feholdexcept
feof
feraiseexcept
ferror
fesetenv
fesetexceptflag
fesetround
fetestexcept
feupdateenv
fexecve
fflush
ffs
fgetc
fgetpos
fgets
fgetwc
fgetws
fileno
flockfile
floor
fma
fmax
fmemopen
fmin
fmod
fmtmsg
fnmatch
fopen
fork
fpathconf
fpclassify
fprintf
fputc
fputs
fputwc
fputws
fread
free
freeaddrinfo
freelocale
freopen
frexp
fscanf
fseek
fsetpos
fstat
fstatat
fstatvfs
fsync
ftell
ftok
ftruncate
ftrylockfile
ftw
funlockfile
futimens
fwide
fwprintf
fwrite
fwscanf
gai_strerror
getaddrinfo
getc
getc_unlocked
getchar
getchar_unlocked
getcwd
getdate
getdelim
getegid
getenv
geteuid
getgid
getgrent
getgrgid
getgrnam
getgroups
gethostent
gethostid
gethostname
getitimer
getline
getlogin
getmsg
getnameinfo
getnetbyaddr
getopt
getpeername
getpgid
getpgrp
getpid
getpmsg
getppid
getpriority
getprotobyname
getpwent
getpwnam
getpwuid
getrlimit
getrusage
gets
getservbyname
getsid
getsockname
getsockopt
getsubopt
gettimeofday
getuid
getutxent
getwc
getwchar
glob
gmtime
grantpt
hcreate
htonl
hypot
iconv
iconv_close
iconv_open
if_freenameindex
if_indextoname
if_nameindex
if_nametoindex
ilogb
imaxabs
imaxdiv
inet_addr
inet_ntop
initstate
insque
ioctl
isalnum
isalpha
isascii
isastream
isatty
isblank
iscntrl
isdigit
isfinite
isgraph
isgreater
isgreaterequal
isinf
isless
islessequal
islessgreater
islower
isnan
isnormal
isprint
ispunct
isspace
isunordered
isupper
iswalnum
iswalpha
iswblank
iswcntrl
iswctype
iswdigit
iswgraph
iswlower
iswprint
iswpunct
iswspace
iswupper
iswxdigit
isxdigit
j0
jrand48
kill
killpg
l64a
labs
lchown
lcong48
ldexp
ldiv
lfind
lgamma
link
lio_listio
listen
llabs
lldiv
llrint
llround
localeconv
localtime
lockf
log
log10
log1p
log2
logb
logf
longjmp
lrand48
lrint
lround
lsearch
lseek
lstat
malloc
mblen
mbrlen
mbrtowc
mbsinit
mbsrtowcs
mbstowcs
mbtowc
memccpy
memchr
memcmp
memcpy
memmove
memset
mkdir
mkdtemp
mkfifo
mknod
mkstemp
mktime
mlock
mlockall
mmap
modf
mprotect
mq_close
mq_getattr
mq_notify
mq_open
mq_receive
mq_send
mq_setattr
mq_timedreceive
mq_timedsend
mq_unlink
mrand48
msgctl
msgget
msgrcv
msgsnd
msync
munlock
munlockall
munmap
nan
nanosleep
nearbyint
newlocale
nextafter
nftw
nice
nl_langinfo
nrand48
ntohl
open
open_memstream
openat
opendir
openlog
optarg
pathconf
pause
pclose
perror
pipe
poll
popen
posix_fadvise
posix_fallocate
posix_madvise
posix_mem_offset
posix_memalign
posix_openpt
posix_spawn
posix_spawn_file_actions_addclose
posix_spawn_file_actions_adddup2
posix_spawn_file_actions_addopen
posix_spawn_file_actions_destroy
posix_spawnattr_destroy
posix_spawnattr_getflags
posix_spawnattr_getpgroup
posix_spawnattr_getschedparam
posix_spawnattr_getschedpolicy
posix_spawnattr_getsigdefault
posix_spawnattr_getsigmask
posix_spawnattr_init
posix_spawnattr_setflags
posix_spawnattr_setpgroup
posix_spawnattr_setschedparam
posix_spawnattr_setschedpolicy
posix_spawnattr_setsigdefault
posix_spawnattr_setsigmask
posix_spawnp
posix_trace_attr_destroy
posix_trace_attr_getclockres
posix_trace_attr_getinherited
posix_trace_attr_getlogsize
posix_trace_attr_getname
posix_trace_attr_getstreamfullpolicy
posix_trace_attr_getstreamsize
posix_trace_attr_init
posix_trace_attr_setinherited
posix_trace_attr_setlogsize
posix_trace_attr_setname
posix_trace_attr_setstreamfullpolicy
posix_trace_attr_setstreamsize
posix_trace_clear
posix_trace_close
posix_trace_create
posix_trace_event
posix_trace_eventid_equal
posix_trace_eventid_open
posix_trace_eventset_add
posix_trace_eventtypelist_getnext_id
posix_trace_flush
posix_trace_get_attr
posix_trace_get_filter
posix_trace_get_status
posix_trace_getnext_event
posix_trace_open
posix_trace_set_filter
posix_trace_shutdown
posix_trace_start
posix_trace_timedgetnext_event
posix_trace_trid_eventid_open
posix_trace_trygetnext_event
posix_typed_mem_get_info
posix_typed_mem_open
pow
pread
printf
pselect
psiginfo
pthread_atfork
pthread_attr_destroy
pthread_attr_getdetachstate
pthread_attr_getguardsize
pthread_attr_getinheritsched
pthread_attr_getschedparam
pthread_attr_getschedpolicy
pthread_attr_getscope
pthread_attr_getstack
pthread_attr_getstacksize
pthread_attr_init
pthread_attr_setdetachstate
pthread_attr_setguardsize
pthread_attr_setinheritsched
pthread_attr_setschedparam
pthread_attr_setschedpolicy
pthread_attr_setscope
pthread_attr_setstack
pthread_attr_setstacksize
pthread_barrier_destroy
pthread_barrier_wait
pthread_barrierattr_destroy
pthread_barrierattr_getpshared
pthread_barrierattr_init
pthread_barrierattr_setpshared
pthread_cancel
pthread_cleanup_pop
pthread_cond_broadcast
pthread_cond_destroy
pthread_cond_signal
pthread_cond_timedwait
pthread_condattr_destroy
pthread_condattr_getclock
pthread_condattr_getpshared
pthread_condattr_init
pthread_condattr_setclock
pthread_condattr_setpshared
pthread_create
pthread_detach
pthread_equal
pthread_exit
pthread_getconcurrency
pthread_getcpuclockid
pthread_getschedparam
pthread_getspecific
pthread_join
pthread_key_create
pthread_key_delete
pthread_kill
pthread_mutex_consistent
pthread_mutex_destroy
pthread_mutex_getprioceiling
pthread_mutex_init
pthread_mutex_lock
pthread_mutex_setprioceiling
pthread_mutex_timedlock
pthread_mutex_trylock
pthread_mutexattr_destroy
pthread_mutexattr_getprioceiling
pthread_mutexattr_getprotocol
pthread_mutexattr_getpshared
pthread_mutexattr_getrobust
pthread_mutexattr_gettype
pthread_mutexattr_init
pthread_mutexattr_setprioceiling
pthread_mutexattr_setprotocol
pthread_mutexattr_setpshared
pthread_mutexattr_setrobust
pthread_mutexattr_settype
pthread_once
pthread_rwlock_destroy
pthread_rwlock_rdlock
pthread_rwlock_timedrdlock
pthread_rwlock_timedwrlock
pthread_rwlock_tryrdlock
pthread_rwlock_trywrlock
pthread_rwlock_unlock
pthread_rwlock_wrlock
pthread_rwlockattr_destroy
pthread_rwlockattr_getpshared
pthread_rwlockattr_init
pthread_rwlockattr_setpshared
pthread_self
pthread_setcancelstate
pthread_setconcurrency
pthread_setschedparam
pthread_setschedprio
pthread_setspecific
pthread_sigmask
pthread_spin_destroy
pthread_spin_lock
pthread_spin_unlock
pthread_testcancel
ptsname
putc
putc_unlocked
putchar
putchar_unlocked
putenv
putmsg
puts
pututxline
putwc
putwchar
pwrite
qsort
raise
rand
random
read
readdir
readlink
readv
realloc
realpath
recv
recvfrom
recvmsg
regcomp
remainder
remove
remque
remquo
rename
rewind
rewinddir
rint
rmdir
round
scalbln
scandir
scanf
sched_get_priority_max
sched_getparam
sched_getscheduler
sched_rr_get_interval
sched_setparam
sched_setscheduler
sched_yield
seed48
seekdir
select
sem_close
sem_destroy
sem_getvalue
sem_init
sem_open
sem_post
sem_timedwait
sem_trywait
sem_unlink
sem_wait
semctl
semget
semop
send
sendmsg
sendto
setbuf
setegid
setenv
seteuid
setgid
setgrent
sethostent
setitimer
setjmp
setkey
setlocale
setlogmask
setnetent
setpgid
setpgrp
setpriority
setprotoent
setpwent
setregid
setreuid
setrlimit
setservent
setsid
setsockopt
setstate
setuid
setutxent
setvbuf
shm_open
shm_unlink
shmat
shmctl
shmdt
shmget
shutdown
sigaction
sigaddset
sigaltstack
sigdelset
sigemptyset
sigfillset
sighold
siginterrupt
sigismember
siglongjmp
signal
signbit
signgam
sigpause
sigpending
sigprocmask
sigqueue
sigrelse
sigsetjmp
sigsuspend
sigtimedwait
sigwait
sigwaitinfo
sin
sinh
sinl
sleep
snprintf
sockatmark
socket
socketpair
sprintf
sqrt
srand
srand48
srandom
sscanf
stat
statvfs
stdin
stpcpy
stpncpy
strcasecmp
strcat
strchr
strcmp
strcoll
strcpy
strcspn
strdup
strerror
strfmon
strftime
strlen
strncasecmp
strncat
strncmp
strncpy
strndup
strnlen
strpbrk
strptime
strrchr
strsignal
strspn
strstr
strtod
strtoimax
strtok
strtol
strtold
strtoll
strtoul
strtoumax
strxfrm
swab
swprintf
swscanf
symlink
sync
sysconf
syslog
system
tan
tanh
tanl
tcdrain
tcflow
tcflush
tcgetattr
tcgetpgrp
tcgetsid
tcsendbreak
tcsetattr
tcsetpgrp
tdelete
telldir
tempnam
tfind
tgamma
time
timer_create
timer_delete
timer_getoverrun
times
timezone
tmpfile
tmpnam
toascii
tolower
toupper
towctrans
towlower
towupper
trunc
truncate
truncf
tsearch
ttyname
twalk
tzset
ulimit
umask
uname
ungetc
ungetwc
unlink
unlockpt
unsetenv
uselocale
utime
utimensat
va_arg
vfprintf
vfscanf
vfwprintf
vfwscanf
vprintf
vscanf
vsnprintf
vsscanf
vswprintf
vswscanf
vwprintf
vwscanf
wait
waitid
waitpid
wcpcpy
wcpncpy
wcrtomb
wcscasecmp
wcscat
wcschr
wcscmp
wcscoll
wcscpy
wcscspn
wcsdup
wcsftime
wcslen
wcsncasecmp
wcsncat
wcsncmp
wcsncpy
wcsnlen
wcsnrtombs
wcspbrk
wcsrchr
wcsrtombs
wcsspn
wcsstr
wcstod
wcstoimax
wcstok
wcstol
wcstold
wcstoll
wcstombs
wcstoul
wcstoumax
wcswidth
wcsxfrm
wctob
wctomb
wctrans
wctype
wcwidth
wmemchr
wmemcmp
wmemcpy
wmemmove
wmemset
wordexp
wprintf
write
writev
wscanf
y0
XCU
1 Introduction
1.1 Relationship to Other Documents
1.1.1 System Interfaces
1.1.2 Concepts Derived from the ISO C Standard
1.2 Utility Limits
1.3 Grammar Conventions
1.4 Utility Description Defaults
1.5 Considerations for Utilities in Support of Files of Arbitrary Size
1.6 Built-In Utilities
2 Shell Command Language
2.1 Shell Introduction
2.2 Quoting
2.2.1 Escape Character (Backslash)
2.2.2 Single-Quotes
2.2.3 Double-Quotes
2.3 Token Recognition
2.3.1 Alias Substitution
2.4 Reserved Words
2.5 Parameters and Variables
2.5.1 Positional Parameters
2.5.2 Special Parameters
2.5.3 Shell Variables
2.6 Word Expansions
2.6.1 Tilde Expansion
2.6.2 Parameter Expansion
2.6.3 Command Substitution
2.6.4 Arithmetic Expansion
2.6.5 Field Splitting
2.6.6 Pathname Expansion
2.6.7 Quote Removal
2.7 Redirection
2.7.1 Redirecting Input
2.7.2 Redirecting Output
2.7.3 Appending Redirected Output
2.7.4 Here-Document
2.7.5 Duplicating an Input File Descriptor
2.7.6 Duplicating an Output File Descriptor
2.7.7 Open File Descriptors for Reading and Writing
2.8 Exit Status and Errors
2.8.1 Consequences of Shell Errors
2.8.2 Exit Status for Commands
2.9 Shell Commands
2.9.1 Simple Commands
2.9.2 Pipelines
2.9.3 Lists
2.9.4 Compound Commands
2.9.5 Function Definition Command
2.10 Shell Grammar
2.10.1 Shell Grammar Lexical Conventions
2.10.2 Shell Grammar Rules
2.11 Signals and Error Handling
2.12 Shell Execution Environment
2.13 Pattern Matching Notation
2.13.1 Patterns Matching a Single Character
2.13.2 Patterns Matching Multiple Characters
2.13.3 Patterns Used for Filename Expansion
2.14 Special Built-In Utilities
break
colon
continue
dot
eval
exec
exit
export
readonly
return
set
shift
times
trap
unset
3 Batch Environment Services
3.1 General Concepts
3.1.1 Batch Client-Server Interaction
3.1.2 Batch Queues
3.1.3 Batch Job Creation
3.1.4 Batch Job Tracking
3.1.5 Batch Job Routing
3.1.6 Batch Job Execution
3.1.7 Batch Job Exit
3.1.8 Batch Job Abort
3.1.9 Batch Authorization
3.1.10 Batch Administration
3.1.11 Batch Notification
3.2 Batch Services
3.2.1 Batch Job States
3.2.2 Deferred Batch Services
3.2.3 Requested Batch Services
3.3 Common Behavior for Batch Environment Utilities
3.3.1 Batch Job Identifier
3.3.2 Destination
3.3.3 Multiple Keyword-Value Pairs
4 Utilities
admin
alias
ar
asa
at
awk
basename
batch
bc
bg
c99
cal
cat
cd
cflow
chgrp
chmod
chown
cksum
cmp
comm
command
compress
cp
crontab
csplit
ctags
cut
cxref
date
dd
delta
df
diff
dirname
du
echo
ed
env
ex
expand
expr
false
fc
fg
file
find
fold
fort77
fuser
gencat
get
getconf
getopts
grep
hash
head
iconv
id
ipcrm
ipcs
jobs
join
kill
lex
link
ln
locale
localedef
logger
logname
lp
ls
m4
mailx
make
man
mesg
mkdir
mkfifo
more
mv
newgrp
nice
nl
nm
nohup
od
paste
patch
pathchk
pax
pr
printf
prs
ps
pwd
qalter
qdel
qhold
qmove
qmsg
qrerun
qrls
qselect
qsig
qstat
qsub
read
renice
rm
rmdel
rmdir
sact
sccs
sed
sh
sleep
sort
split
strings
strip
stty
tabs
tail
talk
tee
test
time
touch
tput
tr
true
tsort
tty
type
ulimit
umask
unalias
uname
uncompress
unexpand
unget
uniq
unlink
uucp
uudecode
uuencode
uustat
uux
val
vi
wait
wc
what
who
write
xargs
yacc
zcat
XRAT
A Rationale for Base Definitions
A.1 Introduction
A.1.1 Scope
A.1.2 Conformance
A.1.3 Normative References
A.1.4 Change History
A.1.5 Terminology
A.1.6 Definitions and Concepts
A.1.7 Portability
A.2 Conformance
A.2.1 Implementation Conformance
A.2.2 Application Conformance
A.2.3 Language-Dependent Services for the C Programming Language
A.2.4 Other Language-Related Specifications
A.3 Definitions
A.4 General Concepts
A.4.1 Concurrent Execution
A.4.2 Directory Protection
A.4.3 Extended Security Controls
A.4.4 File Access Permissions
A.4.5 File Hierarchy
A.4.6 Filenames
A.4.7 Filename Portability
A.4.8 File Times Update
A.4.9 Host and Network Byte Order
A.4.10 Measurement of Execution Time
A.4.11 Memory Synchronization
A.4.12 Pathname Resolution
A.4.13 Process ID Reuse
A.4.14 Scheduling Policy
A.4.15 Seconds Since the Epoch
A.4.16 Semaphore
A.4.17 Thread-Safety
A.4.18 Tracing
A.4.19 Treatment of Error Conditions for Mathematical Functions
A.4.20 Treatment of NaN Arguments for Mathematical Functions
A.4.21 Utility
A.4.22 Variable Assignment
A.5 File Format Notation
A.6 Character Set
A.6.1 Portable Character Set
A.6.2 Character Encoding
A.6.3 C Language Wide-Character Codes
A.6.4 Character Set Description File
A.7 Locale
A.7.1 General
A.7.2 POSIX Locale
A.7.3 Locale Definition
A.7.4 Locale Definition Grammar
A.7.5 Locale Definition Example
A.8 Environment Variables
A.8.1 Environment Variable Definition
A.8.2 Internationalization Variables
A.8.3 Other Environment Variables
A.9 Regular Expressions
A.9.1 Regular Expression Definitions
A.9.2 Regular Expression General Requirements
A.9.3 Basic Regular Expressions
A.9.4 Extended Regular Expressions
A.9.5 Regular Expression Grammar
A.10 Directory Structure and Devices
A.10.1 Directory Structure and Files
A.10.2 Output Devices and Terminal Types
A.11 General Terminal Interface
A.11.1 Interface Characteristics
A.11.2 Parameters that Can be Set
A.12 Utility Conventions
A.12.1 Utility Argument Syntax
A.12.2 Utility Syntax Guidelines
A.13 Headers
A.13.1 Format of Entries
A.13.2 Removed Headers in Issue 7
B Rationale for System Interfaces
B.1 Introduction
B.1.1 Change History
B.1.2 Relationship to Other Formal Standards
B.1.3 Format of Entries
B.2 General Information
B.2.1 Use and Implementation of Interfaces
B.2.2 The Compilation Environment
B.2.3 Error Numbers
B.2.4 Signal Concepts
B.2.5 Standard I/O Streams
B.2.6 STREAMS
B.2.7 XSI Interprocess Communication
B.2.8 Realtime
B.2.9 Threads
B.2.10 Sockets
B.2.11 Tracing
B.2.12 Data Types
B.3 System Interfaces
B.3.1 System Interfaces Removed in this Version
B.3.2 System Interfaces Removed in the Previous Version
B.3.3 Examples for Spawn
C Rationale for Shell and Utilities
C.1 Introduction
C.1.1 Change History
C.1.2 Relationship to Other Documents
C.1.3 Utility Limits
C.1.4 Grammar Conventions
C.1.5 Utility Description Defaults
C.1.6 Considerations for Utilities in Support of Files of Arbitrary Size
C.1.7 Built-In Utilities
C.2 Shell Command Language
C.2.1 Shell Introduction
C.2.2 Quoting
C.2.3 Token Recognition
C.2.4 Reserved Words
C.2.5 Parameters and Variables
C.2.6 Word Expansions
C.2.7 Redirection
C.2.8 Exit Status and Errors
C.2.9 Shell Commands
C.2.10 Shell Grammar
C.2.11 Signals and Error Handling
C.2.12 Shell Execution Environment
C.2.13 Pattern Matching Notation
C.2.14 Special Built-In Utilities
C.3 Batch Environment Services and Utilities
C.3.1 Batch General Concepts
C.3.2 Batch Services
C.3.3 Common Behavior for Batch Environment Utilities
C.4 Utilities
C.4.1 Utilities Removed in this Version
C.4.2 Utilities Removed in the Previous Version
C.4.3 Exclusion of Utilities
D Portability Considerations (Informative)
D.1 User Requirements
D.1.1 Configuration Interrogation
D.1.2 Process Management
D.1.3 Access to Data
D.1.4 Access to the Environment
D.1.5 Access to Determinism and Performance Enhancements
D.1.6 Operating System-Dependent Profile
D.1.7 I/O Interaction
D.1.8 Internationalization Interaction
D.1.9 C-Language Extensions
D.1.10 Command Language
D.1.11 Interactive Facilities
D.1.12 Accomplish Multiple Tasks Simultaneously
D.1.13 Complex Data Manipulation
D.1.14 File Hierarchy Manipulation
D.1.15 Locale Configuration
D.1.16 Inter-User Communication
D.1.17 System Environment
D.1.18 Printing
D.1.19 Software Development
D.2 Portability Capabilities
D.2.1 Configuration Interrogation
D.2.2 Process Management
D.2.3 Access to Data
D.2.4 Access to the Environment
D.2.5 Bounded (Realtime) Response
D.2.6 Operating System-Dependent Profile
D.2.7 I/O Interaction
D.2.8 Internationalization Interaction
D.2.9 C-Language Extensions
D.2.10 Command Language
D.2.11 Interactive Facilities
D.2.12 Accomplish Multiple Tasks Simultaneously
D.2.13 Complex Data Manipulation
D.2.14 File Hierarchy Manipulation
D.2.15 Locale Configuration
D.2.16 Inter-User Communication
D.2.17 System Environment
D.2.18 Printing
D.2.19 Software Development
D.2.20 Future Growth
D.3 Profiling Considerations
D.3.1 Configuration Options
D.3.2 Configuration Options (Shell and Utilities)
D.3.3 Configurable Limits
D.3.4 Configuration Options (System Interfaces)
D.3.5 Configurable Limits
D.3.6 Optional Behavior
E Subprofiling Considerations (Informative)
E.1 Subprofiling Option Groups
Index
IEEE list of participants
INTERNATIONAL STANDARD ISO/IEC/ IEEE 9945 First edition 2009-09-15 Information technology — Portable Operating System Interface (POSIX®) Base Specifications, Issue 7 Technologies de l'information — Spécifications de base de l'interface pour la portabilité des systèmes (POSIX ®), Issue 7 Reference number ISO/IEC/IEEE 9945:2009(E) Copyright © 2001-2008, IEEE and The Open Group. All rights reserved Authorized licensed use limited to: BEIJING UNIVERSITY OF TECHNOLOGY. Downloaded on December 24,2012 at 10:36:04 UTC from IEEE Xplore. Restrictions apply.
ISO/IEC/IEEE 9945:2009(E) PDF disclaimer This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. Neither the ISO Central Secretariat nor IEEE accepts any liability in this area. Adobe is a trademark of Adobe Systems Incorporated. Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies and IEEE members. In the unlikely event that a problem relating to it is found, please inform the ISO Central Secretariat or IEEE at the address given below. COPYRIGHT PROTECTED DOCUMENT © IEEE 2001-2008 All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO or IEEE at the respective address below. ISO copyright office Case postale 56 • CH-1211 Geneva 20 Tel. + 41 22 749 01 11 Fax + 41 22 749 09 47 E-mail copyright@iso.org Web www.iso.org Published in Switzerland Institute of Electrical and Electronics Engineers, Inc. 3 Park Avenue, New York • NY 10016-5997, USA E-mail stds.ipr@ieee.org Web www.ieee.org ii Copyright © 2001-2008, IEEE and The Open Group. All rights reserved Authorized licensed use limited to: BEIJING UNIVERSITY OF TECHNOLOGY. Downloaded on December 24,2012 at 10:36:04 UTC from IEEE Xplore. Restrictions apply.
ISO/IEC/IEEE 9945:2009(E) Foreword ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC participate in the development of International Standards through technical committees established by the respective organization to deal with particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non- governmental, in liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1. IEEE Standards documents are developed within the IEEE Societies and the Standards Coordinating Committees of the IEEE Standards Association (IEEE-SA) Standards Board. The IEEE develops its standards through a consensus development process, approved by the American National Standards Institute, which brings together volunteers representing varied viewpoints and interests to achieve the final product. Volunteers are not necessarily members of the Institute and serve without compensation. While the IEEE administers the process and establishes rules to promote fairness in the consensus development process, the IEEE does not independently evaluate, test, or verify the accuracy of any of the information contained in its standards. The main task of ISO/IEC JTC 1 is to prepare International Standards. Draft International Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as an International Standard requires approval by at least 75 % of the national bodies casting a vote. Attention is called to the possibility that implementation of this standard may require the use of subject matter covered by patent rights. By publication of this standard, no position is taken with respect to the existence or validity of any patent rights in connection therewith. ISO/IEEE is not responsible for identifying essential patents or patent claims for which a license may be required, for conducting inquiries into the legal validity or scope of patents or patent claims or determining whether any licensing terms or conditions provided in connection with submission of a Letter of Assurance or a Patent Statement and Licensing Declaration Form, if any, or in any licensing agreements are reasonable or non-discriminatory. Users of this standard are expressly advised that determination of the validity of any patent rights, and the risk of infringement of such rights, is entirely their own responsibility. Further information may be obtained from ISO or the IEEE Standards Association. ISO/IEC/IEEE 9945 was prepared by The Open Group (as The Open Group Technical Standard Base Specifications, Issue 7) and the Portable Applications Standards Committee of the Computer Society of the IEEE (as IEEE Std 1003.1™-2008). It was adopted by Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming languages, their environments and system software interfaces, in parallel with its approval by the ISO/IEC national bodies, under the “fast-track procedure” defined in the Partner Standards Development Organization cooperation agreement between ISO and IEEE. IEEE is responsible for the maintenance of this document with participation and input from ISO/IEC national bodies. This first edition of ISO/IEC/IEEE 9945 cancels and replaces ISO/IEC 9945-1:2003, ISO/IEC 9945-2:2003, ISO/IEC 9945-3:2003 and It also incorporates the Technical Corrigenda ISO/IEC 9945-1:2003/Cor.1:2004, ISO/IEC 9945-2:2003/Cor.1:2004, ISO/IEC 9945-3:2003/Cor.1:2004 and ISO/IEC 9945-4:2003/Cor.1:2004. ISO/IEC 9945-4:2003, which have been technically revised. Copyright © 2001-2008, IEEE and The Open Group. All rights reserved Authorized licensed use limited to: BEIJING UNIVERSITY OF TECHNOLOGY. Downloaded on December 24,2012 at 10:36:04 UTC from IEEE Xplore. Restrictions apply. iii
ISO/IEC/IEEE 9945:2009(E) (blank page) iv Copyright © 2001-2008, IEEE and The Open Group. All rights reserved Authorized licensed use limited to: BEIJING UNIVERSITY OF TECHNOLOGY. Downloaded on December 24,2012 at 10:36:04 UTC from IEEE Xplore. Restrictions apply.
ISO/IEC/IEEE 9945:2009(E) Standard for Information Technology– Portable Operating System Interface (POSIX®) Base Specifications, Issue 7 IEEE Computer Society Sponsored by the Portable Applications Standards Committee and The Open Group M T . 1 3 0 0 1 IEEE 3 Park Avenue New York, NY 10016-5997, USA 1 December 2008 IEEE Std 1003.1™-2008 (Revision of IEEE Std 1003.1-2004) Copyright © 2001-2008, IEEE and The Open Group. All rights reserved v Authorized licensed use limited to: BEIJING UNIVERSITY OF TECHNOLOGY. Downloaded on December 24,2012 at 10:36:04 UTC from IEEE Xplore. Restrictions apply.
ISO/IEC/IEEE 9945:2009(E) (blank page) vi Copyright © 2001-2008, IEEE and The Open Group. All rights reserved Authorized licensed use limited to: BEIJING UNIVERSITY OF TECHNOLOGY. Downloaded on December 24,2012 at 10:36:04 UTC from IEEE Xplore. Restrictions apply.
ISO/IEC/IEEE 9945:2009(E) IEEE Std 1003.1™-2008 (Revision of IEEE Std 1003.1-2004) The Open Group Technical Standard Base Specifications, Issue 7 Standard for Information Technology— Portable Operating System Interface (POSIX®) Base Specifications, Issue 7 Sponsor Portable Applications Standards Committee of the IEEE Computer Society and The Open Group Approved 26 September 2008 IEEE-SA Standards Board Approved 24 July 2008 The Open Group Copyright © 2001-2008, IEEE and The Open Group. All rights reserved Authorized licensed use limited to: BEIJING UNIVERSITY OF TECHNOLOGY. Downloaded on December 24,2012 at 10:36:04 UTC from IEEE Xplore. Restrictions apply. vii
ISO/IEC/IEEE 9945:2009(E) Abstract POSIX.1-2008 is simultaneously IEEE Std 1003.1™-2008 and The Open Group Technical Standard Base Specifications, Issue 7. POSIX.1-2008 defines a standard operating system interface and environment, including a command interpreter (or “shell”), and common utility programs to support applications portability at the source code level. POSIX.1-2008 is intended to be used by both application developers and system implementors and comprises four major components (each in an associated volume): x General terms, concepts, and interfaces common to all volumes of this standard, including utility conventions and C-language header definitions, are included in the Base Definitions volume. Definitions for system service functions and subroutines, language-specific system services for the C programming language, function issues, including portability, error handling, and error recovery, are included in the System Interfaces volume. Definitions for a standard source code-level interface to command interpretation services (a “shell”) and common utility programs for application programs are included in the Shell and Utilities volume. Extended rationale that did not fit well into the rest of the document structure, which contains historical information concerning the contents of POSIX.1-2008 and why features were included or discarded by the standard developers, is included in the Rationale (Informative) volume. x x x Graphics interfaces Database management system interfaces Record I/O considerations Object or binary code portability System configuration and resource availability The following areas are outside the scope of POSIX.1-2008: x x x x x POSIX.1-2008 describes the external characteristics and facilities that are of importance to application developers, rather than the internal construction techniques employed to achieve these capabilities. Special emphasis is placed on those functions and facilities that are needed in a wide variety of commercial applications. Keywords application program interface (API), argument, asynchronous, basic regular expression (BRE), batch job, batch system, built-in utility, byte, child, command language interpreter, CPU, extended regular expression (ERE), FIFO, file access control mechanism, input/output (I/O), job control, network, portable operating system interface (POSIX®), parent, shell, stream, string, synchronous, system, thread, X/Open System Interface (XSI) The Institute of Electrical and Electronics Engineers, Inc. 3 Park Avenue, New York, NY 10016-5997, USA The Open Group Thames Tower, Station Road, Reading, Berkshire, RG1 1LX, U.K. Copyright © 2008 by the Institute of Electrical and Electronics Engineers, Inc. and The Open Group All rights reserved. Published 1 December 2008 by the IEEE. Printed in the United States of America by the IEEE. PDF: ISBN 978-0-7381-5798-6 CDROM: ISBN 978-0-7381-5799-3 Published 1 December 2008 by The Open Group. Printed in the United Kingdom by The Open Group. Doc. Number: ISBN: No part of this publication may be reproduced in any form, in an electronic retrieval system or otherwise, without the prior written permission of the publisher. Permission to reproduce all or any part of this standard must be with the consent of both copyright holders and may be subject to a license fee. Both copyright holders will need to be satisfied that the other has granted permission. Requests should be sent by email to austin-group-permissions@opengroup.org. This standard has been prepared by the Austin Group. Feedback relating to the material contained within this standard may be submitted by using the Austin Group web site at www.opengroup.org/austin/defectform.html. C082 1-931624-79-8 STD95820 STDCD95820 viii Copyright © 2001-2008, IEEE and The Open Group. All rights reserved. Base Specifications, Issue 7 Authorized licensed use limited to: BEIJING UNIVERSITY OF TECHNOLOGY. Downloaded on December 24,2012 at 10:36:04 UTC from IEEE Xplore. Restrictions apply.
分享到:
收藏