For the purposes of POSIX.1-2017, the following terms and definitions apply. The Authoritative Dictionary of IEEE StandardsTerms, Seventh Edition should be referenced for terms not defined in this section.
An abrupt termination of a network connection that may result in the loss of data.
A pathname beginning with a single or more than two <slash> characters; see alsoPathname.
A particular form of access permitted to a file.
An implementation-defined mechanism that is layered upon the access control mechanisms defined here, but which do not grantpermissions beyond those defined herein, although they may further restrict them.
The memory locations that can be referenced by a process or the threads of a process.
An interface that advises the implementation on (portable) application behavior so that it can optimize the system.
An input string that matches one of the responses acceptable to theLC_MESSAGES category keywordyesexpr, matchingan extended regular expression in the current locale.
To cause the user's terminal to give some audible or visual indication that an error or some other event has occurred. When thestandard output is directed to a terminal device, the method for alerting the terminal user is unspecified. When the standardoutput is not directed to a terminal device, the alert is accomplished by writing the alert to standard output (unless the utilitydescription indicates that the use of standard output produces undefined results in this case).
A character that in the output stream should cause a terminal to alert its user via a visual or audible notification. It is thecharacter designated by'\a' in the C language. It is unspecified whether this character is the exact sequence transmittedto an output device by the system to accomplish the alert function.
In the shell command language, a word consisting solely of underscores, digits, and alphabetics from the portable character setand any of the following characters:'!','%',',','@'.
Implementations may allow other characters within alias names as an extension.
A requirement that objects of a particular type be located on storage boundaries with addresses that are particular multiples ofa byte address.
An implementation-defined mechanism that is independent of the access control mechanisms defined herein, and which if enabled ona file may either restrict or extend the permissions of a given user. POSIX.1-2017 defines when such mechanisms can be enabled andwhen they are disabled.
Memory associated with a thread, established upon request by the implementation for a thread, separate from the thread signalstack, in which signal handlers responding to signals sent to that thread may be executed.
Protocol-specific, local system-specific, or optional information. The information can be both local or end-to-end significant,header information, part of a data portion, protocol-specific, and implementation or system-specific.
The characters'<' (left-angle-bracket) and'>' (right-angle-bracket). When used in the phrase"enclosed in angle brackets", the symbol'<' immediately precedes the object to be enclosed, and'>'immediately follows it. When describing these characters in the portable character set, the names <less-than-sign> and<greater-than-sign> are used.
The character designated by'\'' in the C language, also known as the single-quote character.
A computer program that performs some desired function.
When the User Portability Utilities option is supported, requirements placed on applications relating to the use of standardutilities shall also apply to the actions of a user who is entering shell command language statements into an interactiveshell.
Endpoint address of a specific application.
The definition of syntax and semantics for providing computer system services.
An implementation-defined means of associating privileges with a process with regard to the function calls, function calloptions, and the commands that need special privileges. There may be zero or more such means. These means (or lack thereof) aredescribed in the conformance document.
In the shell command language, a parameter passed to a utility as the equivalent of a single string in theargv arraycreated by one of theexec functions. An argument is one of the options, option-arguments, or operands following the commandname.
In the C language, an expression in a function call expression or a sequence of preprocessing tokens in a function-like macroinvocation.
To start a timer measuring the passage of time, enabling notifying a process when the specified time or time interval haspassed.
The character'*'.
A function that may be safely invoked by an application while the asynchronous form of cancellation is enabled. No function isasync-cancel-safe unless explicitly described as such.
Events that occur independently of the execution of the application.
A functionality enhancement to allow an application process to queue data input and output commands with asynchronousnotification of completion.
A function that can be called, without restriction, from signal-catching functions. Note that, although there is no restrictionon the calls themselves, for certain functions there are restrictions on subsequent behavior after the function is called from asignal-catching function. No function is async-signal-safe unless explicitly described as such.
A signal that is not attributable to a specific thread. Examples are signals sent viakill(), signals sent from the keyboard, and signals delivered to process groups. Beingasynchronous is a property of how the signal was generated and not a property of the signal number. All signals may be generatedasynchronously.
For an asynchronous read or write operation, when a corresponding synchronous read or write would have completed and when anyassociated status fields have been updated.
An I/O operation that does not of itself cause the thread requesting the I/O to be blocked from further use of theprocessor.
This implies that the process and the I/O operation may be running concurrently.
The process of validating a user or process to verify that the user or process is not a counterfeit.
The process of verifying that a user or process has permission to use a resource in the manner requested.
To ensure security, the user or process would also need to be authenticated before granting access.
SeeBackground Process Group inBackground Process Group (or Background Job).
A process that is a member of a background process group.
Any process group, other than a foreground process group, that is a member of a session that has established a connection with acontrolling terminal.
The character'`', also known as <grave-accent>.
The character designated by'\\' in the C language, also known as reverse solidus.
A character that, in the output stream, should cause printing (or displaying) to occur one column position previous to theposition about to be printed. If the position about to be printed is at the beginning of the current line, the behavior isunspecified. It is the character designated by'\b' in the C language. It is unspecified whether this character is theexact sequence transmitted to an output device by the system to accomplish the backspace function. The backspace defined here isnot necessarily the ERASE special character.
A synchronization object that allows multiple threads to synchronize at a particular point in their execution.
For pathnames containing at least one filename: the final, or only, filename in the pathname. For pathnames consisting only of<slash> characters: either'/' or"//" if the pathname consists of exactly two <slash> characters,and'/' otherwise.
A regular expression (seeRegular Expression) used by the majority of utilities that select stringsfrom a set of character strings.
A list of user IDs and group IDs of those users and groups authorized to place batch jobs in a batch queue.
A batch access list is associated with a batch queue. A batch server uses the batch access list of a batch queue as one of thecriteria in deciding to put a batch job in a batch queue.
A user that is authorized to modify all the attributes of queues and jobs and to change the status of a batch server.
A computational entity that utilizes batch services by making requests of batch servers.
Batch clients often provide the means by which users access batch services, although a batch server may act as a batch client byvirtue of making requests of another batch server.
The batch server in a batch system to which a batch job should be sent for processing.
Acceptance of a batch job at a batch destination is the responsibility of a receiving batch server. A batch destination mayconsist of a batch server-specific portion, a network-wide portion, or both. The batch server-specific portion is referred to asthe "batch queue". The network-wide portion is referred to as a "batch server name".
A string that identifies a specific batch destination.
A string of characters in the portable character set used to specify a particular batch destination.
A line from a file that is interpreted by the batch server. The line is usually in the form of a comment and is an additionalmeans of passing options to theqsub utility.
A set of computational tasks for a computing system.
Batch jobs are managed by batch servers.
Once created, a batch job may be executing or pending execution. A batch job that is executing has an associated session leader(a process) that initiates and monitors the computational tasks of the batch job.
A named data type whose value affects the processing of a batch job.
The values of the attributes of a batch job affect the processing of that job by the batch server that manages the batchjob.
A unique name for a batch job. A name that is unique among all other batch job identifiers in a batch system and that identifiesthe batch server to which the batch job was originally submitted.
A label that is an attribute of a batch job. The batch job name is not necessarily unique.
Theusername@hostname of the user submitting the batch job, whereusername is a user name (see alsoUser Name) andhostname is a network host name.
A value specified by the user that may be used by an implementation to determine the order in which batch jobs are selected tobe executed. Job priority has a numeric value in the range -1024 to 1023.
An attribute of a batch job which determines the types of requests that the batch server that manages the batch job can acceptfor the batch job. Valid states include QUEUED, RUNNING, HELD, WAITING, EXITING, and TRANSITING.
A service that assigns batch names that are unique within the batch name space, and that can translate a unique batch name intothe location of the named batch entity.
The environment within which a batch name is known to be unique.
A host containing part or all of a batch system.
A batch node is a host meeting at least one of the following conditions:
Capable of executing a batch client
Contains a routing batch queue
Contains an execution batch queue
A user that is authorized to modify some, but not all, of the attributes of jobs and queues, and may change the status of thebatch server.
A manageable object that represents a set of batch jobs and is managed by a single batch server.
See also XCUBatch Queues.
A named data type whose value affects the processing of all batch jobs that are members of the batch queue.
A batch queue has attributes that affect the processing of batch jobs that are members of the batch queue.
The place, relative to other jobs in the batch queue, occupied by a particular job in a batch queue. This is defined in part bysubmission time and priority; see alsoBatch Queue Priority.
The maximum job priority allowed for any batch job in a given batch queue.
The batch queue priority is set and may be changed by users with appropriate privileges. The priority is bounded in animplementation-defined manner.
An attribute of a batch job indicating that it may be rerun after an abnormal termination from the beginning without affectingthe validity of the results.
The action of resuming the processing of a batch job from the point of the last checkpoint. Typically, this is done if the batchjob has been interrupted because of a system failure.
A computational entity that provides batch services.
A string of characters in the portable character set used to specify a particular server in a network.
Computational and organizational services performed by a batch system on behalf of batch jobs.
Batch services are of two types: requested and deferred.
A solicitation of services from a batch client to a batch server.
A batch service request may entail the exchange of any number of messages between the batch client and the batch server.
When naming specific types of service requests, the term "request" is qualified by the type of request, as inQueue BatchJob Request andDelete Batch Job Request.
The process by which a batch client requests that a batch server create a batch job via aQueue Job Request to perform aspecified computational task.
A collection of one or more batch servers.
The name of a user on the batch destination batch server.
The target user is the user name under whose account the batch job is to execute on the destination batch server.
A user who is authorized to make use of batch services.
The process of assigning a network address to an endpoint.
One of the characters that belong to theblank character class as defined via theLC_CTYPE category in the currentlocale. In the POSIX locale, a <blank> character is either a <tab> or a <space>.
A line consisting solely of zero or more <blank> characters terminated by a <newline>; see alsoEmpty Line.
A process (or thread) that is waiting for some condition (other than the availability of a processor) to be satisfied before itcan continue execution.
A property of an open file description that causes function calls associated with it to wait for the requested action to beperformed before returning.
A terminal device operating in a mode incapable of the character-at-a-time input and output operations described by some of thestandard utilities.
A file that refers to a device. A block special file is normally distinguished from a character special file by providing accessto the device in a manner such that the hardware characteristics of the device are not visible.
The characters'{' (left-curly-bracket) and'}' (right-curly-bracket). When used in the phrase "enclosed in(curly) braces" the symbol'{' immediately precedes the object to be enclosed, and'}' immediately follows it.When describing these characters in the portable character set, the names <left-curly-bracket> and <left-brace> areused for'{', and <right-curly-bracket> and <right-brace> are used for'}'.
The characters'[' (left-square-bracket) and']' (right-square-bracket). When used in the phrase "enclosed in(square) brackets" the symbol'[' immediately precedes the object to be enclosed, and']' immediately followsit. When describing these characters in the portable character set, the names <left-square-bracket> and<right-square-bracket> are used.
The transfer of data from one endpoint to several endpoints, as described in RFC 919 and RFC 922.
A utility implemented within a shell. The utilities referred to as special built-ins have special qualities. Unless qualified,the term "built-in" includes the special built-in utilities. Regular built-ins are not required to be actually built into theshell on the implementation, but they do have special command-search qualities.
Regular Built-In Utilities are defined in detail in XCUCommand Searchand Execution.
An individually addressable unit of data storage that is exactly an octet, used to store a character or a portion of acharacter; see alsoCharacter. A byte is composed of a contiguous sequence of 8 bits. The leastsignificant bit is called the "low-order" bit; the most significant is called the "high-order" bit.
The functions that perform byte-oriented input from streams or byte-oriented output to streams:fgetc(),fgets(),fprintf(),fputc(),fputs(),fread(),fscanf(),fwrite(),getc(),getchar(),getdelim(),getline(),gets(),printf(),putc(),putchar(),puts(),scanf(),ungetc(),vfprintf(), andvprintf().
A character that in the output stream indicates that printing should start at the beginning of the same physical line in whichthe carriage-return occurred. It is the character designated by'\r' in the C language. It is unspecified whether thischaracter is the exact sequence transmitted to an output device by the system to accomplish the movement to the beginning of theline.
A sequence of one or more bytes representing a single graphic symbol or control code.
See the definition of the portable character set inPortable CharacterSet for a further explanation of the graphical representations of (abstract) characters, as opposed to characterencodings.
An array of elements of typechar.
A named set of characters sharing an attribute associated with the name of the class. The classes and the characters that theycontain are dependent on the value of theLC_CTYPE category in the current locale.
A finite set of different characters used for the representation, organization, or control of data.
A file that refers to a device (such as a terminal device file) or that has special properties (such as/dev/null).
A contiguous sequence of characters terminated by and including the first null byte.
A new process created (byfork(),posix_spawn(), orposix_spawnp()) bya given process. A child process remains the child of the creating process as long as both processes continue to exist.
The character'^'.
A software or hardware object that can be used to measure the apparent or actual passage of time.
The current value of the time measured by a clock can be queried and, possibly, set to a value within the legal range of theclock.
The difference between two successive distinct values of a clock, as observed from the application via one of the "get time''operations.
An interval of time; an implementation-defined number of these occur each second. Clock ticks are one of the units that may beused to express a value found in typeclock_t.
A set of unambiguous rules that establishes a character set and the one-to-one relationship between each character of the setand its bit representation.
The result of applying rules that map a numeric code value to each element of a character set. An element of a character set maybe related to more than one numeric code value but the reverse is not true. However, for state-dependent encodings the relationshipbetween numeric code values and elements of a character set may be further controlled by state information. The character set maycontain fewer elements than the total number of possible numeric code values; that is, some code values may be unassigned.
The smallest entity used to determine the logical ordering of character or wide-character strings; see alsoCollation Sequence. A collating element consists of either a single character, or two or more characterscollating as a single entity. The value of theLC_COLLATE category in the current locale determines the current set ofcollating elements.
The logical ordering of character or wide-character strings according to defined precedence rules. These rules identify acollation sequence between the collating elements, and such additional rules that can be used to order strings consisting ofmultiple collating elements.
The relative order of collating elements as determined by the setting of theLC_COLLATE category in the current locale.The collation sequence is used for sorting and is determined from the collating weights assigned to each collating element. In theabsence of weights, the collation sequence is the order in which collating elements are specified betweenorder_start andorder_end keywords in theLC_COLLATE category.
Multi-level sorting is accomplished by assigning elements one or more collation weights, up to the limit {COLL_WEIGHTS_MAX}. Oneach level, elements may be given the same weight (at the primary level, called an equivalence class; see alsoEquivalence Class) or be omitted from the sequence. Strings that collate equally using the first assigned weight(primary ordering) are then compared using the next assigned weight (secondary ordering), and so on.
A unit of horizontal measure related to characters in a line.
It is assumed that each character in a character set has an intrinsic column width independent of any output device. Eachprintable character in the portable character set has a column width of one. The standard utilities, when used as described inPOSIX.1-2017, assume that all characters have integral column widths. The column width of a character is not necessarily related tothe internal representation of the character (numbers of bits or bytes).
The column position of a character in a line is defined as one plus the sum of the column widths of the preceding characters inthe line. Column positions are numbered starting from 1.
A directive to the shell to perform a particular task.
An interface that interprets sequences of text input as commands. It may operate on an input stream or it may interactivelyprompt and read commands from a terminal. It is possible for applications to invoke utilities through a number of interfaces, whichare collectively considered to act as command interpreters. The most obvious of these are thesh utility and thesystem() function, althoughpopen() and the various forms ofexec may also be considered to behave asinterpreters.
Thesystem(),popen(), andexec functions are defined in detail in the System Interfaces volume of POSIX.1-2017.
A graphic symbol consisting of a combination of two or more other graphic symbols in a single character position, such as adiacritical mark and a base character.
A synchronization object which allows a thread to suspend execution, repeatedly, until some associated predicate becomes true. Athread whose execution is suspended on a condition variable is said to be blocked on the condition variable.
A connection-mode socket for which a connection has been established, or a connectionless-mode socket for which a peer addresshas been set. See alsoConnection,Connection Mode,Connectionless Mode, andSocket.
An association established between two or more endpoints for the transfer of data
The transfer of data in the context of a connection; see alsoConnectionless Mode.
The transfer of data other than in the context of a connection; see alsoConnection Mode andDatagram.
A character, other than a graphic character, that affects the recording, processing, transmission, or interpretation oftext.
In the shell command language, a token that performs a control function. It is one of the following symbols:
& && ( ) ; ;; newline | ||
The end-of-input indicator used internally by the shell is also considered a control operator.
The session leader that established the connection to the controlling terminal. If the terminal subsequently ceases to be acontrolling terminal for this session, the session leader ceases to be the controlling process.
A terminal that is associated with a session. Each session may have at most one controlling terminal associated with it, and acontrolling terminal is associated with exactly one session. Certain input sequences from the controlling terminal cause signals tobe sent to all processes in the foreground process group associated with the controlling terminal.
A per-process unique value used to identify an open codeset conversion.
A file of unspecified format that may be generated when a process terminates abnormally.
The time spent executing a process or thread, including the time spent executing system services on behalf of that process orthread. If the Threads option is supported, then the value of the CPU-time clock for a process is implementation-defined. With thisdefinition the sum of all the execution times of all the threads in a process might not equal the process execution time, even in asingle-threaded process, because implementations may differ in how they account for time during context switches or for otherreasons.
A clock that measures the execution time of a particular process or thread.
A timer attached to a CPU-time clock.
In the context of job control, the job that will be used as the default for thefg orbg utilities. There is at most one current job; see alsoJobControl Job ID.
SeeWorking Directory inWorking Directory (or Current Working Directory).
The line and column position on the screen denoted by the terminal's cursor.
A unit of data transferred from one endpoint to another in connectionless mode service.
Memory associated with a process, that can contain dynamically allocated data.
A service that is performed as a result of events that are asynchronous with respect to requests.
A computer peripheral or an object that appears to the application as such.
A non-negative integer used to identify a device.
A file that contains directory entries. No two directory entries in the same directory have the same name.
An object that associates a filename with a file. Several directory entries can associate names with the same file.
A sequence of all the directory entries in a particular directory. An open directory stream may be implemented using a filedescriptor.
To stop a timer from measuring the passage of time, disabling any future process notifications (until the timer is armedagain).
To output to the user's terminal. If the output is not directed to a terminal, the results are undefined.
A line of text on a physical device or an emulation thereof. Such a line will have a maximum number of characters which can bepresented.
The character'$'.
In the context of naming files, the filename consisting of a single <period> character ('.' ).
Pathname Resolution is defined in detail inPathname Resolution.
The filename consisting solely of two <period> characters (".." ).
The character'"' also known as <quotation-mark>.
The conversion of an uppercase character that has a single-character lowercase representation into this lowercaserepresentation.
A module that controls data transferred to and received from devices.
An attribute of a process that is used in determining various permissions, including file access permissions; see alsoGroup ID.
An attribute of a process that is used in determining various permissions, including file access permissions; see alsoUser ID.
The ability of a software component to process 8-bit characters without modifying or utilizing any part of the character in away that is inconsistent with the rules of the current coded character set.
A directory that contains, at most, directory entries for dot and dot-dot, and has exactly one link to it (other than its owndot entry, if one exists), in dot-dot. No other links to the directory may exist. It is unspecified whether an implementation canever consider the root directory to be empty.
A line consisting of only a <newline>; see alsoBlank Line.
A string whose first byte is a null byte.
A wide-character string whose first element is a null wide-character code.
The rules used to convert between wide-character codes and multi-byte character codes.
The concatenated set of one or more basic regular expressions or extended regular expressions that make up the pattern specifiedfor string selection.
The time zero hours, zero minutes, zero seconds, on January 1, 1970 Coordinated Universal Time (UTC).
A set of collating elements with the same primary collation weight.
Elements in an equivalence class are typically elements that naturally group together, such as all accented letters based on thesame base letter.
The collation order of elements within an equivalence class is determined by the weights assigned on any subsequent levels afterthe primary weight.
A locale-specific method for counting and displaying years.
The mechanism that enables applications to register for and be made aware of external events such as data becoming available forreading.
A regular file acceptable as a new process image file by the equivalent of theexec family of functions, and thus usableas one form of a utility. The standard utilities described as compilers can produce executable files, but other unspecified methodsof producing executable files may also be provided. The internal format of an executable file is unspecified, but a conformingapplication cannot assume an executable file is a text file.
To perform command search and execution actions, as defined in the Shell and Utilities volume of POSIX.1-2017; see alsoInvoke.
SeeCPU Time inCPU Time (Execution Time).
A set of execution time monitoring primitives that allow online measuring of thread and process execution times.
In the shell command language, when not qualified, the act of applying word expansions.
A regular expression (see alsoRegular Expression) that is an alternative to the Basic RegularExpression using a more extensive syntax, occasionally used by some utilities.
Implementation-defined security controls allowed by the file access permission and appropriate privileges (see alsoAppropriate Privileges) mechanisms, through which an implementation can support different security policies fromthose described in POSIX.1-2017.
File Access Permissions are defined in detail inFile AccessPermissions.
A macro used to determine whether a particular set of features is included from a header.
In the shell command language, a unit of text that is the result of parameter expansion, arithmetic expansion, commandsubstitution, or field splitting. During command processing, the resulting fields are used as the command name and its arguments.
Arithmetic Expansion is defined in detail in XCUArithmeticExpansion.
Command Substitution is defined in detail in XCUCommandSubstitution.
Field Splitting is defined in detail in XCUField Splitting.
For further information on command processing, see XCUSimpleCommands.
A type of file with the property that data written to such a file is read on a first-in-first-out basis.
An object that can be written to, or read from, or both. A file has certain attributes, including access permissions and type.File types include regular file, character special file, block special file, FIFO special file, symbolic link, socket, anddirectory. Other types of files may be supported by the implementation.
SeeOpen File Description inOpen File Description.
A per-process unique, non-negative integer used to identify an open file for the purpose of file access. The value of anewly-created file descriptor is from zero to {OPEN_MAX}-1. A file descriptor can have a value greater than or equal to {OPEN_MAX}if the value of {OPEN_MAX} has decreased (seesysconf) since the file descriptorwas opened. File descriptors may also be used to implement message catalog descriptors and directory streams; see alsoOpen File Description.
The property of a file indicating access permissions for a process related to the group identification of a process. A processis in the file group class of a file if the process is not in the file owner class and if the effective group ID or one of thesupplementary group IDs of the process matches the group ID associated with the file. Other members of the class may beimplementation-defined.
An object containing the file mode bits and some information about the file type of a file.
A file's file permission bits, set-user-ID-on-execution bit (S_ISUID), set-group-ID-on-execution bit (S_ISGID), and, ondirectories, the restricted deletion flag bit (S_ISVTX).
A sequence of bytes consisting of 1 to {NAME_MAX} bytes used to name a file. The bytes composing the name shall not contain the<NUL> or <slash> characters. In the context of a pathname, each filename shall be followed by a <slash> or a<NUL> character; elsewhere, a filename followed by a <NUL> character forms a string (but not necessarily a characterstring). The filenamesdot anddot-dot have special meaning. A filename is sometimes referred to as a "pathnamecomponent". See alsoPathname.
A string consisting of a filename followed by a <NUL> character.
The byte position in the file where the next I/O operation begins. Each open file description associated with a regular file,block special file, or directory has a file offset. A character special file that does not refer to a terminal device may have afile offset. There is no file offset specified for a pipe or FIFO.
The property of a file indicating access permissions for a process related to the user and group identification of a process. Aprocess is in the file other class of a file if the process is not in the file owner class or file group class.
The property of a file indicating access permissions for a process related to the user identification of a process. A process isin the file owner class of a file if the effective user ID of the process matches the user ID of the file.
Information about a file that is used, along with other information, to determine whether a process has read, write, orexecute/search permission to a file. The bits are divided into three parts: owner, group, and other. Each part is used with thecorresponding file class of processes. These bits are contained in the file mode.
File Access Permissions are defined in detail inFile AccessPermissions.
A per-file system unique identifier for a file.
A collection of files and certain of their attributes. It provides a name space for file serial numbers referring to thosefiles.
SeeFile inFile.
A command whose operation consists of reading data from standard input or a list of input files and writing data to standardoutput. Typically, its function is to perform some transformation on the data stream.
When a process opens a file that is not currently an open file within any process.
The mechanism employed by a communications provider that constrains a sending entity to wait until the receiving entities cansafely receive additional data without loss.
SeeForeground Process Group inForeground Process Group (or Foreground Job).
A process that is a member of a foreground process group.
A process group whose member processes have certain privileges, denied to processes in background process groups, when accessingtheir controlling terminal. Each session that has established a connection with a controlling terminal has at most one processgroup of the session as the foreground process group of that controlling terminal.
The process group ID of the foreground process group.
A character that in the output stream indicates that printing should start on the next page of an output device. It is thecharacter designated by'\f' in the C language. If the form-feed is not the first character of an output line, the resultis unspecified. It is unspecified whether this character is the exact sequence transmitted to an output device by the system toaccomplish the movement to the next page.
A member of thegraph character class of the current locale.
A system database that contains at least the following information for each group ID:
Group name
Numerical group ID
List of users allowed in the group
The list of users allowed in the group is used by thenewgrp utility.
A non-negative integer, which can be contained in an object of typegid_t, that is used to identify a group of systemusers. Each system user is a member of at least one group. When the identity of a group is associated with a process, a group IDvalue is referred to as a real group ID, an effective group ID, one of the supplementary group IDs, or a saved set-group-ID. Thevalue (gid_t)-1 shall not be a valid group ID, but does have a defined use in some interfaces defined in this standard.
A string that is used to identify a group; see alsoGroup Database. To be portable across conformingsystems, the value is composed of characters from the portable filename character set. The <hyphen-minus> should not be usedas the first character of a portable group name.
A system resource limitation that may be reset to a lesser or greater limit by a privileged process. A non-privileged process isrestricted to only lowering its hard limit.
The relationship between two directory entries that represent the same file; see alsoDirectory Entry (orLink). The result of an execution of theln utility (without the-s option)or thelink() function. This term is contrasted against symbolic link; see alsoSymbolic Link.
The directory specified by theHOME environment variable.
The arrangement of bytes in any integer type when using a specific machine architecture.
A sequence of one or more non- <newline> characters at the end of the file.
A value representing +infinity or a value representing -infinity that can be stored in a floating type. Not all systems supportthe Inf values.
An application that contains at least one call to the trace point functionposix_trace_event(). Each process of an instrumented application has a mapping oftrace event names to trace event type identifiers. This mapping is used by the trace stream that is created for that process.
A processing mode of the shell that is suitable for direct user interaction.
The provision within a computer program of the capability of making itself adaptable to the requirements of different nativelanguages, local customs, and coded character sets.
A functionality enhancement to add a high-performance, deterministic interprocess communication facility for localcommunication.
To perform command search and execution actions, except that searching for shell functions and special built-in utilities issuppressed; see alsoExecute.
A set of processes, comprising a shell pipeline, and any processes descended from it, that are all in the same process group.
A facility that allows users selectively to stop (suspend) the execution of processes and continue (resume) their execution at alater point. The user typically employs this facility via the interactive interface jointly supplied by the terminal I/O driver anda command interpreter.
A handle that is used to refer to a job. The job control job ID can be any of the forms shown in the following table:
Job Control |
|
|---|---|
Job ID | Meaning |
%% | Current job. |
%+ | Current job. |
%- | Previous job. |
%n | Job numbern. |
%string | Job whose command begins withstring. |
%?string | Job whose command containsstring. |
When a process closes a file, resulting in the file not being an open file within any process.
A sequence of zero or more non- <newline> characters plus a terminating <newline> character.
The period of time before terminating a connection, to allow outstanding data to be transferred.
SeeDirectory Entry inDirectory Entry (or Link).
The number of directory entries that refer to a particular file.
An address space with one or more threads executing within that address space, and the required system resources for thosethreads.
The conventions of a geographical area or territory for such things as date, time, and currency formats.
The transfer of data between processes in the same system.
The definition of the subset of a user's environment that depends on language and cultural conventions.
The process of establishing information within a computer system specific to the operation of particular native languages, localcustoms, and coded character sets.
The unspecified activity by which a user gains access to the system. Each login is associated with exactly one login name.
A user name that is associated with a login.
To create an association between a page-aligned range of the address space of a process and some memory object, such that areference to an address in that range of the address space results in a reference to the associated memory object. The mappedmemory object is not necessarily memory-resident.
A STREAMs message on which a certain flag is set. Marking a message gives the application protocol-specific information. Anapplication can useioctl() to determine whether a given message is marked.
A state applying to a sequence of zero or more characters when the characters in the sequence correspond to a sequence ofcharacters defined by a basic regular expression or extended regular expression pattern.
A facility to allow applications to access files as part of the address space.
One of:
A file (seeFile)
A shared memory object (seeShared Memory Object)
A typed memory object (seeTyped Memory Object)
When used in conjunction withmmap(), a memory object appears in the address spaceof the calling process.
The process of managing the implementation in such a way as to provide an upper bound on memory access times.
In the context of programmatic message passing, information that can be transferred between processes or threads by being addedto and removed from a message queue. A message consists of a fixed-size message buffer.
In the context of providing natural language messages to the user, a file or storage area containing program messages, commandprompts, and responses to prompts for a particular native language, territory, and codeset.
In the context of providing natural language messages to the user, a per-process unique value used to identify an open messagecatalog. A message catalog descriptor may be implemented using a file descriptor.
In the context of programmatic message passing, an object to which messages can be added and removed. Messages may be removed inthe order in which they were added or in priority order.
A collection of attributes that specifies a file's type and its access permissions.
A clock measuring real time, whose value cannot be set viaclock_settime()and which cannot have negative clock jumps.
Either the system root directory or a directory for which thest_dev field of structurestat differs from that ofits parent directory.
A sequence of two or more characters that collate as an entity. For example, in some coded character sets, an accented characteris represented by a non-spacing accent, followed by the letter. Other examples are the Spanish elementsch andll.
A library containing object files that were produced by compiling withc99 using theflags output bygetconf POSIX_V7_THREADS_CFLAGS, or by compiling using anon-standard utility with equivalent flags, and which makes use of interfaces that are only made available byc99 when the-l pthread option is used or makes use of SIGEV_THREAD notifications.
A process that contains more than one thread.
A program whose executable file was produced by compiling withc99 using the flagsoutput bygetconf POSIX_V7_THREADS_CFLAGS, and linking withc99 using the flags output bygetconfPOSIX_V7_THREADS_LDFLAGS and the-l pthread option, or by compiling and linking using a non-standard utility with equivalentflags. Execution of a multi-threaded program initially creates a single-threaded process; the process can create additional threadsusingpthread_create() or SIGEV_THREAD notifications.
A synchronization object used to allow multiple threads to serialize their access to shared data. The name derives from thecapability it provides; namely, mutual-exclusion. The thread that has locked a mutex becomes its owner and remains the owner untilthat same thread unlocks the mutex.
In the shell command language, a word consisting solely of underscores, digits, and alphabetics from the portable character set.The first character of a name is not a digit.
A STREAMS-based file descriptor that is attached to a name in the file system name space. All subsequent operations on the namedSTREAM act on the STREAM that was associated with the file descriptor until the name is disassociated from the STREAM.
A set of values that may be stored in a floating type but that are neither Inf nor valid floating-point numbers. Not all systemssupport NaN values.
A computer user's spoken or written language, such as American English, British English, Danish, Dutch, French, German, Italian,Japanese, Norwegian, or Swedish.
An input string that matches one of the responses acceptable to theLC_MESSAGES category keywordnoexpr, matchingan extended regular expression in the current locale.
A collection of interconnected hosts.
A network-visible identifier used to designate specific endpoints in a network. Specific endpoints on host systems haveaddresses, and host systems may also have addresses.
The way of representing any integer type such that, when transmitted over a network via a network endpoint, theint typeis transmitted as an appropriate number of octets with the most significant octet first, followed by any other octets in descendingorder of significance.
A character that in the output stream indicates that printing should start at the beginning of the next line. It is thecharacter designated by'\n' in the C language. It is unspecified whether this character is the exact sequence transmittedto an output device by the system to accomplish the movement to the next line.
A number used as advice to the system to alter process scheduling. Numerically smaller values give a process additionalpreference when scheduling a process to run. Numerically larger values reduce the preference and make a process less likely to run.Typically, a process with a smaller nice value runs to completion more quickly than an equivalent process with a higher nice value.The symbol {NZERO} specifies the default nice value of the system.
A property of an open file description that causes function calls involving it to return without delay when it is detected thatthe requested action associated with the function call cannot be completed without unknown delay.
A character, such as a character representing a diacritical mark in the ISO/IEC 6937:1994 standard coded graphic characterset, which is used in combination with other characters to form composite graphic symbols.
A character with all bits set to zero.
A byte with all bits set to zero.
A pointer obtained by converting an integer constant expression with the value 0, or such an expression cast to typevoid*, to a pointer type; for example, (char *)0. The C language guarantees that a null pointer compares unequal to apointer to any object or function, so it is used by many functions that return pointers to indicate an error.
SeeEmpty String inEmpty String (or Null String).
A wide-character code with all bits set to zero.
The character'#', also known as hash sign.
A regular file containing the output of a compiler, formatted as input to a linkage editor for linking with other object filesinto an executable form. The methods of linking are unspecified and may involve the dynamic linking of objects at runtime. Theinternal format of an object file is unspecified, but a conforming application cannot assume an object file is a text file.
Unit of data representation that consists of eight contiguous bits.
An attribute of an open file description representing the largest value that can be used as a file offset.
An address such that the entity making use of it requires no details about its contents or format.
A file that is currently associated with a file descriptor.
A record of how a process or group of processes is accessing a file. Each file descriptor refers to exactly one open filedescription, but an open file description can be referred to by more than one file descriptor. The file offset, file status, andfile access modes are attributes of an open file description.
An argument to a command that is generally used as an object supplying information to a utility necessary to complete itsprocessing. Operands generally follow the options in a command line.
In the shell command language, either a control operator or a redirection operator.
An argument to a command that is generally used to specify changes in the utility's default behavior.
A parameter that follows certain options. In some cases an option-argument is included within the same argument string as theoption-in most cases it is the next argument.
A stream has one of three orientations: unoriented, byte-oriented, or wide-oriented.
A process group in which the parent of every member is either itself a member of the group or is not a member of the group'ssession.
The granularity of process memory mapping or locking.
Physical memory and memory objects can be mapped into the address space of a process on page boundaries and in integralmultiples of pages. Process address space can be locked into memory (made memory-resident) on page boundaries and in integralmultiples of pages.
The size, in bytes, of the system unit of memory allocation, protection, and mapping. On systems that have segment rather thanpage-based memory architectures, the term "page" means a segment.
In the shell command language, an entity that stores values. There are three types of parameters: variables (named parameters),positional parameters, and special parameters. Parameter expansion is accomplished by introducing a parameter with the'$'character.
In the C language, an object declared as part of a function declaration or definition that acquires a value on entry to thefunction, or an identifier following the macro name in a function-like macro definition.
When discussing a given directory, the directory that both contains a directory entry for the given directory and is representedby the pathname dot-dot in the given directory.
When discussing other types of files, a directory containing a directory entry for the file under discussion.
This concept does not apply to dot and dot-dot.
The process which created (or inherited) the process under discussion.
An attribute of a new process identifying the parent of the process. The parent process ID of a process is the process ID of itscreator, for the lifetime of the creator. After the creator's lifetime has ended, the parent process ID is the process ID of animplementation-defined system process.
A string that is used to identify a file. In the context of POSIX.1-2017, a pathname may be limited to {PATH_MAX} bytes,including the terminating null byte. It has optional beginning <slash> characters, followed by zero or more filenamesseparated by <slash> characters. A pathname can optionally contain one or more trailing <slash> characters. Multiplesuccessive <slash> characters are considered to be the same as one <slash>, except for the case of exactly two leading<slash> characters.
Pathname Resolution is defined in detail inPathname Resolution.
SeeFilename inFilename.
The part of a pathname up to, but not including, the last component and any trailing <slash> characters, unless thepathname consists entirely of <slash> characters, in which case the path prefix is'/' for a pathname containingeither a single <slash> or three or more <slash> characters, and'//' for the pathname//. The pathprefix of a pathname containing no <slash> characters is empty, but is treated as referring to the current working directory.
A sequence of characters used either with regular expression notation or for pathname expansion, as a means of selecting variouscharacter strings or pathnames, respectively.
See also XCUPathname Expansion.
The syntaxes of the two types of patterns are similar, but not identical; POSIX.1-2017 always indicates the type of patternbeing referred to in the immediate context of the use of the term.
The character'.'. The term "period" is contrasted with dot (see alsoDot), which is usedto describe a specific directory entry.
Attributes of an object that determine the privilege necessary to access or manipulate the object.
A mode for semaphores, shared memory, and message queues requiring that the object and its state (including data, if any) arepreserved after the object is no longer referenced by any process.
Persistence of an object does not imply that the state of the object is maintained across a system crash or a system reboot.
An object identical to a FIFO which has no links in the file hierarchy.
A scheduling scheme whereby the local process periodically checks until the pre-specified events (for example, read, write) haveoccurred.
The collection of characters that are required to be present in all locales supported by conforming systems.
This term is contrasted against the smaller portable filename character set; see alsoPortable FilenameCharacter Set.
A filename consisting only of characters from the portable filename character set.
The set of characters from which portable filenames are constructed.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Za b c d e f g h i j k l m n o p q r s t u v w x y z0 1 2 3 4 5 6 7 8 9 . _ -
The last three characters are the <period>, <underscore>, and <hyphen-minus> characters, respectively. SeealsoPathname.
In the shell command language, a parameter denoted by a single digit or one or more digits in curly braces.
The reservation of resources in a system for a particular use.
Preallocation does not imply that the resources are immediately allocated to that use, but merely indicates that they areguaranteed to be available in bounded time when needed.
A running thread whose execution is suspended due to another thread becoming runnable at a higher priority.
In the context of job control, the job that will be used as the default for thefg orbg utilities if the current job exits. There is at most one previous job; see alsoJob Control Job ID.
One of the characters included in theprint character classification of theLC_CTYPE category in the currentlocale.
A text file consisting only of the characters included in theprint andspace character classifications of theLC_CTYPE category and the <backspace>, all in the current locale.
A non-negative integer associated with processes or threads whose value is constrained to a range defined by the applicablescheduling policy. Numerically higher values represent higher priorities.
The queuing order applied to normal priority STREAMS messages. High priority STREAMS messages are not grouped by priority bands.The only differentiation made by the STREAMS mechanism is between zero and non-zero bands, but specific protocol modules maydifferentiate between priority bands.
A condition in which a thread that is not voluntarily suspended (waiting for an event or time delay) is not running while alower priority thread is running. Such blocking of the higher priority thread is often caused by contention for a sharedresource.
A performance and determinism improvement facility to allow applications to determine the order in which threads that are readyto run are granted access to processor resources.
Scheduling in which the selection of a running thread is determined by the priorities of the runnable processes or threads.
SeeAppropriate Privileges inAppropriate Privileges.
A live process (seeLive Process) or a zombie process (seeZombie Process). The lifetime of a process is described inProcess Lifetime.
A collection of processes that permits the signaling of related processes. Each process in the system is a member of a processgroup that is identified by a process group ID. A newly created process joins the process group of its creator.
The unique positive integer identifier representing a process group during its lifetime.
A process whose process ID is the same as its process group ID.
The period of time that begins when a process group is created and ends when the last remaining process in the group leaves thegroup, due either to the end of the lifetime of the last process or to the last remaining process calling thesetsid() orsetpgid() functions.
The unique positive integer identifier representing a process during its lifetime.
The period of time that begins when a process is created and ends when its process ID is returned to the system.
See alsoLive Process,Process Termination, andZombie Process.
A performance improvement facility to bind application programs into the high-performance random access memory of a computersystem. This avoids potential latencies introduced by the operating system in storing parts of a program that were not recentlyreferenced on secondary memory devices.
There are two kinds of process termination:
Normal termination occurs by a return frommain(), when requested with theexit(),_exit(), or_Exit() functions; or when the last thread in the process terminates by returning from itsstart function, by calling thepthread_exit() function, or throughcancellation.
Abnormal termination occurs when requested by theabort() function or when somesignals are received.
The transfer of data between processes.
The measurement of time in units elapsed by the system clock while a process is executing.
A prepared sequence of instructions to the system to accomplish a defined task. The term "program" in POSIX.1-2017 encompassesapplications written in the Shell Command Language, complex utility input languages (for example,awk,lex,sed, and so on), and high-level languages.
A set of semantic and syntactic rules for exchanging information.
A facility that provides an interface that is identical to the terminal subsystem, except where noted otherwise in POSIX.1-2017.A pseudo-terminal is composed of two devices: the "master device" and a "slave device". The slave device provides processeswith an interface that is identical to the terminal interface, although there need not be hardware behind that interface. Anythingwritten on the master device is presented to the slave as an input and anything written on the slave device is presented as aninput on the master side.
The character that separates the integer part of a number from the fractional part.
A file system that has implementation-defined characteristics restricting modifications.
Multiple readers, single writer (read-write) locks allow many threads to have simultaneous read-only access to data whileallowing only one thread to have write access at any given time. They are typically used to protect data that is read-only morefrequently than it is changed.
Read-write locks can be used to synchronize threads in the current process and other processes if they are allocated in memorythat is writable and shared among the cooperating processes and have been initialized for this behavior.
The attribute of a process that, at the time of process creation, identifies the group of the user who created the process; seealsoGroup ID.
Time measured as total units elapsed by the system clock without regard to which thread is executing.
A determinism improvement facility to enable asynchronous signal notifications to an application to be queued without impactingcompatibility with the existing signal functions.
The attribute of a process that, at the time of process creation, identifies the user who created the process; see alsoUser ID.
A collection of related data units or words which is treated as a unit.
In the shell command language, a method of associating files with the input or output of commands.
In the shell command language, a token that performs a redirection function. It is one of the following symbols:
< > >| << >> <& >& <<- <>
A shared memory object that is open or has one or more mappings defined on it.
To ensure that the information on the user's terminal screen is up-to-date.
A pattern that selects specific strings from a set of character strings.
In the context of the address space of a process, a sequence of addresses.
In the context of a file, a sequence of offsets.
A file that is a randomly accessible sequence of bytes, with no further structure imposed by the system.
A pathname not beginning with a <slash> character.
A file holding code or data suitable for linking with other object files to create an executable or a shared object file.
The process of connecting symbolic references with symbolic definitions. For example, when a program calls a function, theassociated call instruction transfers control to the proper destination address at execution.
A service that is either rejected or performed prior to a response from the service to the requester.
The minimum time interval that a clock can measure or whose passage a timer can detect.
A mutex with therobust attribute set.
A directory, associated with a process, that is used in pathname resolution for pathnames that begin with a <slash>character.
A thread that is capable of being a running thread, but for which no processor is available.
A thread currently executing on a processor. On multi-processor systems there may be more than one such thread in a system at atime.
An attribute of a process that provides some flexibility in the handling of unrepresentable resource limits, as described in theexec family of functions andsetrlimit().
An attribute of a process that allows some flexibility in the assignment of the effective group ID attribute, as described intheexec family of functions andsetgid().
An attribute of a process that allows some flexibility in the assignment of the effective user ID attribute, as described in theexec family of functions andsetuid().
The application of a policy to select a runnable process or thread to become a running process or thread, or to alter one ormore of the thread lists.
The set of processors on which an individual thread can be scheduled at any given time.
A property of a thread that defines the set of threads against which that thread competes for resources.
For example, in a scheduling decision, threads sharing scheduling contention scope compete for processor resources. InPOSIX.1-2017, a thread has scheduling contention scope of either PTHREAD_SCOPE_SYSTEM or PTHREAD_SCOPE_PROCESS.
A set of rules that is used to determine the order of execution of processes or threads to achieve some goal.
A rectangular region of columns and lines on a terminal display. A screen may be a portion of a physical display device or mayoccupy the entire physical area of the display device.
To move the representation of data vertically or horizontally relative to the terminal screen. There are two types ofscrolling:
The cursor moves with the data.
The cursor remains stationary while the data moves.
A minimum synchronization primitive to serve as a basis for more complex synchronization mechanisms to be defined by theapplication program.
A collection of process groups established for job control purposes. Each process group is a member of a session. A process isconsidered to be a member of the session of which its process group is a member. A newly created process joins the session of itscreator. A process can alter its session membership; seesetsid(). There can bemultiple process groups in the same session.
A process that has created a session.
The period between when a session is created and the end of the lifetime of all the process groups that remain as members of thesession.
An object that represents memory that can be mapped concurrently into the address space of more than one process.
A program that interprets sequences of text input as commands. It may operate on an input stream or it may interactively promptand read commands from a terminal.
The Shell Command Language Interpreter; a specific instance of a shell.
A file containing shell commands. If the file is made executable, it can be executed by specifying its name as a simple command.Execution of a shell script causes a shell to execute the commands within the script. Alternatively, a shell can be requested toexecute the commands in a shell script by specifying the name of the shell script as the operand to thesh utility.
Thesh utility is defined in detail in the Shell and Utilities volume ofPOSIX.1-2017.
A mechanism by which a process or thread may be notified of, or affected by, an event occurring in the system. Examples of suchevents include hardware exceptions and specific actions by processes. The term signal is also used to refer to the eventitself.
Memory established for a thread, in which signal handlers catching signals sent to that thread are executed.
The character designated by'\'' in the C language, also known as <apostrophe>.
A process that contains a single thread.
A program whose executable file was produced by compiling withc99 without using theflags output bygetconf POSIX_V7_THREADS_CFLAGS and linking withc99 using neither the flags output bygetconfPOSIX_V7_THREADS_LDFLAGS nor the-l pthread option, or by compiling and linking using a non-standard utility with equivalentflags. Execution of a single-threaded program creates a single-threaded process; if the process attempts to create additionalthreads usingpthread_create() or SIGEV_THREAD notifications, the behavior isundefined. If the process usesdlopen() to load a multi-threaded library, thebehavior is undefined.
The character'/', also known as solidus.
A file of a particular type that is used as a communications endpoint for process-to-process communication as described in theSystem Interfaces volume of POSIX.1-2017.
An address associated with a socket or remote endpoint, including an address family identifier and addressing informationspecific to that address family. The address may include multiple parts, such as a network address associated with a host systemand an identifier for a specific endpoint.
A resource limitation established for each process that the process may set to any value less than or equal to the hardlimit.
When dealing with the Shell Command Language, input to the command language interpreter. The term "shell script" is synonymouswith this meaning.
When dealing with an ISO/IEC-conforming programming language, source code is input to a compiler conforming to that ISO/IECstandard.
Source code also refers to the input statements prepared for the following standard utilities:awk,bc,ed,ex,lex,localedef,make,sed, andyacc.
Source code can also refer to a collection of sources meeting any or all of these meanings.
The character defined in the portable character set as <space>. The <space> character is a member of thespace character class of the current locale, but represents the single character, and not all of the possible members of theclass; see alsoWhite Space.
A process creation primitive useful for systems that have difficulty withfork() andas an efficient replacement forfork()/exec.
SeeBuilt-In Utility inBuilt-In Utility (or Built-In).
In the shell command language, a parameter named by a single character from the following list:
* @ # ? ! - $ 0
A synchronization object used to allow multiple threads to serialize their access to shared data.
A scheduling policy for threads and processes that reserves a certain amount of execution capacity for processing aperiodicevents at a given priority level.
An output stream usually intended to be used for diagnostic messages.
An input stream usually intended to be used for primary data input.
An output stream usually intended to be used for primary data output.
The utilities described in the Shell and Utilities volume of POSIX.1-2017.
Appearing in lowercase, a stream is a file access object that allows access to an ordered sequence of characters, as describedby the ISO C standard. Such objects can be created by thefdopen(),fmemopen(),fopen(),open_memstream(), orpopen() functions,and are associated with a file descriptor. A stream provides the additional services of user-selectable buffering and formattedinput and output; see alsoSTREAM.
Thefdopen(),fmemopen(),fopen(),open_memstream(), andpopen() functions are defined in detail in the System Interfaces volume of POSIX.1-2017.
Appearing in uppercase, STREAM refers to a full-duplex connection between a process and an open device or pseudo-device. Itoptionally includes one or more intermediate processing modules that are interposed between the process end of the STREAM and thedevice driver (or pseudo-device driver) end of the STREAM; see alsoStream.
The STREAM end is the driver end of the STREAM and is also known as the downstream end of the STREAM.
The STREAM head is the beginning of the STREAM and is at the boundary between the system and the application process. This isalso known as the upstream end of the STREAM.
A driver with multiple STREAMS connected to it. Multiplexing with STREAMS connected above is referred to as N-to-1, or "uppermultiplexing". Multiplexing with STREAMS connected below is referred to as 1-to-N or "lower multiplexing".
A contiguous sequence of bytes terminated by and including the first null byte.
A shell execution environment, distinguished from the main or current shell execution environment.
For a write operation to a regular file, when the system ensures that all data written is readable on any subsequent open of thefile (even one that follows a system or power failure) in the absence of a failure of the physical storage medium.
For a read operation, when an image of the data on the physical storage medium is available to the requesting process.
An attribute of a process used in determining file access permissions. A process has up to {NGROUPS_MAX} supplementary group IDsin addition to the effective group ID. The supplementary group IDs of a process are set to the supplementary group IDs of theparent process when the process is created.
A job that has received a SIGSTOP, SIGTSTP, SIGTTIN, or SIGTTOU signal that caused the process group to stop. A suspended job isa background job, but a background job is not necessarily a suspended job.
An object-like macro defined with a constant value.
Unless stated otherwise, the following shall apply to every symbolic constant:
It expands to a compile-time constant expression with an integer type.
It may be defined as another type of constant-e.g., an enumeration constant-as well as being a macro.
It need not be usable in#if preprocessing directives.
A type of file with the property that when the file is encountered during pathname resolution, a string stored by the file isused to modify the pathname resolution. The stored string has a length of {SYMLINK_MAX} bytes or fewer.
A determinism and robustness improvement mechanism to enhance the data input and output mechanisms, so that an application canensure that the data being manipulated is physically present on secondary mass storage devices.
The state of an I/O operation that has either been successfully transferred or diagnosed as unsuccessful.
For read, when the operation has been completed or diagnosed if unsuccessful. The read is complete only when an image of thedata has been successfully transferred to the requesting process. If there were any pending write requests affecting the data to beread at the time that the synchronized read operation was requested, these write requests are successfully transferred prior toreading the data.
For write, when the operation has been completed or diagnosed if unsuccessful. The write is complete only when the dataspecified in the write request is successfully transferred and all file system information required to retrieve the data issuccessfully transferred.
File attributes that are not necessary for data retrieval (access time, modification time, status change time) need not besuccessfully transferred prior to returning to the calling process.
Identical to a synchronized I/O data integrity completion with the addition that all file attributes relative to the I/Ooperation (including access time, modification time, status change time) are successfully transferred prior to returning to thecalling process.
An I/O operation performed on a file that provides the application assurance of the integrity of its data and files.
An I/O operation that causes the thread requesting the I/O to be blocked from further use of the processor until that I/Ooperation completes.
A signal that is attributable to a specific thread.
For example, a thread executing an illegal instruction or touching invalid memory causes a synchronously-generated signal. Beingsynchronous is a property of how the signal was generated and not a property of the signal number.
An implementation of POSIX.1-2017.
An unspecified sequence of events that may result in the loss of transitory data; that is, data that is not saved in permanentstorage. For example, message queues, shared memory, semaphores, and processes.
A clock with at least one second resolution that contains seconds since the Epoch.
A device that receives messages sent by thesyslog() function, and thefmtmsg() function when the MM_CONSOLE flag is set.
An interval initiated by an unspecified circumstance that causes all processes (possibly other than special system processes) tobe terminated in an undefined manner, after which any changes to the state and contents of files created or written to by anapplication prior to the interval are undefined, except as required elsewhere in POSIX.1-2017.
An implementation provides two system databases: the "group database" (see alsoGroup Database) andthe "user database" (see alsoUser Database).
All documentation provided with an implementation except for the conformance document. Electronically distributed documents foran implementation are considered part of the system documentation.
An object other than a process executing an application, that is provided by the system and has a process ID.
SeeSystem Boot defined inSystem Boot.
A trace event that is generated by the implementation, in response either to a system-initiated action or to anapplication-requested action, except for a call toposix_trace_event().When supported by the implementation, a system-initiated action generates a process-independent system trace event and anapplication-requested action generates a process-dependent system trace event. For a system trace event not defined byPOSIX.1-2017, the associated trace event type identifier is derived from the implementation-defined name for this trace event, andthe associated data is of implementation-defined content and length.
Pertaining to events occurring in all processes existing in an implementation at a given point in time.
A character that in the output stream indicates that printing or displaying should start at the next horizontal tabulationposition on the current line. It is the character designated by'\t' in the C language. If the current position is at orpast the last defined horizontal tabulation position, the behavior is unspecified. It is unspecified whether this character is theexact sequence transmitted to an output device by the system to accomplish the tabulation.
A character special file that obeys the specifications of the general terminal interface.
A roughly rectangular block of characters capable of being laid out side-by-side next to other text columns on an output page orterminal screen. The widths of text columns are measured in column positions.
A file that contains characters organized into zero or more lines. The lines do not contain NUL characters and none can exceed{LINE_MAX} bytes in length, including the <newline> character. Although POSIX.1-2017 does not distinguish between text filesand binary files (see the ISO C standard), many utilities only produce predictable or meaningful output when operating on textfiles. The standard utilities that have such restrictions always specify "text files" in their STDIN or INPUT FILES sections.
A single flow of control within a process. Each thread has its own thread ID, scheduling priority and policy,errnovalue, floating point environment, thread-specific key/value bindings, and the required system resources to support a flow ofcontrol. Anything whose address may be determined by a thread, including but not limited to static variables, storage obtained viamalloc(), directly addressable storage obtained through implementation-definedfunctions, and automatic variables, are accessible to all threads in the same process.
Each thread in a process is uniquely identified during its lifetime by a value of typepthread_t called a thread ID.
An ordered set of runnable threads that all have the same ordinal value for their priority.
The ordering of threads on the list is determined by a scheduling policy or policies. The set of thread lists includes allrunnable threads in the system.
A thread-safe function can be safely invoked concurrently with other calls to the same function, or with calls to any otherthread-safe functions, by multiple threads. Each function defined in the System Interfaces volume of POSIX.1-2017 is thread-safeunless explicitly stated otherwise. Examples are any "pure" function, a function which holds a mutex locked while it is accessingstatic storage, or objects shared among threads.
A process global handle of typepthread_key_t which is used for naming thread-specific data.
Although the same key value may be used by different threads, the values bound to the key bypthread_setspecific() and accessed bypthread_getspecific() are maintained on a per-thread basis and persist for thelife of the calling thread.
The character''.
A method of limiting the length of time an interface will block; see alsoBlocked Process (or Thread).
A mechanism that can notify a thread when the time as measured by a particular clock has reached or passed a specified value, orwhen a specified amount of time has passed.
A condition that occurs each time a timer, for which there is already an expiration signal queued to the process, expires.
In the shell command language, a sequence of characters that the shell considers as a single unit when reading input. A token iseither an operator or a word.
A process that extracts trace events from a trace stream to retrieve information about the behavior of an application.
A process that creates a trace stream for tracing a process.
A data object that represents an action executed by the system, and that is recorded in a trace stream.
A data object type that defines a class of trace event.
A one-to-one mapping between trace event types and trace event names.
A filter that allows the trace controller process to specify those trace event types that are to be ignored; that is, notgenerated.
A data object that is an implementation-defined character string, generated by the trace system and describing the origin andversion of the trace system.
The flushed image of a trace stream, if the trace stream is created with a trace log.
An action that may cause a trace event to be generated.
An opaque object that contains trace events plus internal data needed to interpret those trace events.
A handle to manage tracing operations in a trace stream.
A system that allows both system and user trace events to be generated into a trace stream. These trace events can be retrievedlater.
A process for which at least one trace stream has been created. A traced process is also called a target process.
A status that describes the state of an active trace stream. The tracing status of a trace stream can be retrieved from thetrace stream attributes. An active trace stream can be in one of two states: running or suspended.
A system-wide name space that contains the names of the typed memory objects present in the system. It is configurable for agiven implementation.
A combination of a typed memory pool and a typed memory port. The entire contents of the pool are accessible from the port. Thetyped memory object is identified through a name that belongs to the typed memory name space.
An extent of memory with the same operational characteristics. Typed memory pools may be contained within each other.
A hardware access path to one or more typed memory pools.
Remove the association between a network address and an endpoint.
SeeDatagram inDatagram.
The conversion of a lowercase character that has a single-character uppercase representation into this uppercaserepresentation.
A system database that contains at least the following information for each user ID:
User name
Numerical user ID
Initial numerical group ID
Initial working directory
Initial user program
The initial numerical group ID is used by thenewgrp utility. Any othercircumstances under which the initial values are operative are implementation-defined.
If the initial user program field is null, an implementation-defined program is used.
If the initial working directory field is null, the interpretation of that field is implementation-defined.
A non-negative integer that is used to identify a system user. When the identity of a user is associated with a process, a userID value is referred to as a real user ID, an effective user ID, or a saved set-user-ID. The value (uid_t)-1 shall not be avalid user ID, but does have a defined use in some interfaces defined in this standard.
A string that is used to identify a user; see alsoUser Database. To be portable across systemsconforming to POSIX.1-2017, the value is composed of characters from the portable filename character set. The <hyphen-minus>character should not be used as the first character of a portable user name.
A trace event that is generated explicitly by the application as a result of a call toposix_trace_event().
A program, excluding special built-in utilities provided as part of the Shell Command Language, that can be called by name froma shell to perform a specific task, or related set of tasks.
In the shell command language, a named parameter.
A character that in the output stream indicates that printing should start at the next vertical tabulation position. It is thecharacter designated by'\v' in the C language. If the current position is at or past the last defined vertical tabulationposition, the behavior is unspecified. It is unspecified whether this character is the exact sequence transmitted to an outputdevice by the system to accomplish the tabulation.
A sequence of one or more characters that belong to thespace character class as defined via theLC_CTYPE categoryin the current locale.
In the POSIX locale, white space consists of one or more <blank> ( <space> and <tab> characters),<newline>, <carriage-return>, <form-feed>, and <vertical-tab> characters.
An integer value corresponding to a single graphic symbol or control code.
The functions that perform wide-oriented input from streams or wide-oriented output to streams:fgetwc(),fgetws(),fputwc(),fputws(),fwprintf(),fwscanf(),getwc(),getwchar(),putwc(),putwchar(),ungetwc(),vfwprintf(),vfwscanf(),vwprintf(),vwscanf(),wprintf(), andwscanf().
A contiguous sequence of wide-character codes terminated by and including the first null wide-character code.
In the shell command language, a token other than an operator. In some cases a word is also a portion of a word token: in thevarious forms of parameter expansion, such as ${name-word}, and variable assignment, such asname=word,the word is the portion of the token depicted byword. The concept of a word is no longer applicable following wordexpansions-only fields remain.
A directory, associated with a process, that is used in pathname resolution for pathnames that do not begin with a <slash>character.
Functions for handling characters in a codeset-independent manner.
To output characters to a file, such as standard output or standard error. Unless otherwise stated, standard output is thedefault output destination for all uses of the term "write''; see the distinction between display and write inDisplay.
The X/Open System Interfaces (XSI) option is the core application programming interface for C andsh programming for systems conforming to the Single UNIX Specification. This is a superset of themandatory requirements for conformance to POSIX.1-2017.
A system which allows an application to be built using a set of services that are consistent across all systems that conform toPOSIX.1-2017 and that support the XSI option.
The remains of a live process (seeLive Process) after it terminates (seeProcess Termination) and before its status information (see XSHStatus Information) is consumed by its parent process.
The algebraic sign provides additional information about any variable that has the value zero when the representation allows thesign to be determined.
return to top of page