Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

POSIX

Native Rust implementation built into the interpreter. Runtime: PP. See original documentation for the full Perl reference.

Native implementation of Perl’s POSIX module

Provides POSIX constants, math functions, system calls, and utilities.

Implemented Categories

  • Constants: errno, signals, wait status, fcntl/open/seek, file modes, float/integer limits, math constants, FP classification, stdio/stdlib, termios, unistd
  • Math functions: 1-arg (acos..trunc), 2-arg (copysign..remainder), special (frexp, modf, ldexp, fma, remquo, etc.)
  • FP classification: fpclassify, ilogb, isfinite, isinf, isnan, etc.
  • Time functions: asctime, mktime, clock, ctime, difftime, strftime, times, tzset, tzname
  • System info: uname, sysconf, pathconf, fpathconf
  • String functions: strtod, strtol, strtoul, strcoll, strerror, strstr
  • File I/O: open, mkfifo, access
  • Process control: _exit, abort, nice, pause, setgid, setuid, etc.
  • FD operations: close, dup, dup2, lseek, pipe, read, write, etc.
  • Terminal: ctermid, ttyname
  • Locale: setlocale, localeconv

Synopsis

use POSIX qw(floor ceil strftime uname strtod);
my $f = floor(3.7);          # 3
my $c = ceil(3.2);           # 4
my $str = strftime("%Y-%m-%d %H:%M:%S", localtime);
my ($sysname, $nodename, $release, $version, $machine) = uname();
my ($num, $unparsed) = strtod("3.14foo");  # (3.14, 3)
use POSIX ':signal_h';
sigaction(SIGTERM, POSIX::SigAction->new(sub { die "caught" }));

Functions

SigAction::flags

Accessor/mutator methods for SigAction fields. Called with no argument to get the value, or with one argument to set it.

POSIX::Termios

SigAction::handler

Accessor/mutator methods for SigAction fields. Called with no argument to get the value, or with one argument to set it.

POSIX::Termios

SigAction::mask

Accessor/mutator methods for SigAction fields. Called with no argument to get the value, or with one argument to set it.

POSIX::Termios

SigAction::new

Create a new signal action object with a handler, signal mask, flags, and optional safe flag. Returns a blessed POSIX::SigAction object.

my $act = POSIX::SigAction->new(\&handler, $mask, SA_RESTART);

SigAction::safe

Accessor/mutator methods for SigAction fields. Called with no argument to get the value, or with one argument to set it.

POSIX::Termios

SigSet::addset

Add or remove a single signal from the set. Returns 0 on success, -1 for out-of-range signal numbers.

SigSet::delset

Add or remove a single signal from the set. Returns 0 on success, -1 for out-of-range signal numbers.

SigSet::emptyset

Clear all signals from (or add all signals to) the set. Returns 0 on success.

SigSet::fillset

Clear all signals from (or add all signals to) the set. Returns 0 on success.

SigSet::ismember

Test whether a signal is in the set. Returns 1 if present, 0 if absent.

POSIX::SigAction

SigSet::new

Create a new signal set, optionally populated with the given signal numbers. Returns a blessed POSIX::SigSet object.

use POSIX qw(SIGINT SIGTERM);
my $set = POSIX::SigSet->new(SIGINT, SIGTERM);

Termios::getattr

Call tcgetattr() on the given file descriptor and store the result. Returns 0 on success, -1 on failure.

$termios->getattr(fileno(STDIN));

Termios::getcc

Get or set a control character by index (e.g., VEOF, VINTR).

my $cc = $termios->getcc(VEOF);
$termios->setcc(VEOF, 4);

Math Builtins (re-exported)

Termios::getcflag

Return the stored input, output, control, or local mode flags.

Termios::getiflag

Return the stored input, output, control, or local mode flags.

Termios::getispeed

Return the stored input or output baud rate.

Termios::getlflag

Return the stored input, output, control, or local mode flags.

Termios::getoflag

Return the stored input, output, control, or local mode flags.

Termios::getospeed

Return the stored input or output baud rate.

Termios::new

Create a new Termios object with all fields initialized to zero. Returns a blessed POSIX::Termios object.

my $termios = POSIX::Termios->new();

Termios::setattr

Call tcsetattr() with the stored termios values and the given action (TCSANOW, TCSADRAIN, or TCSAFLUSH).

Termios::setcc

Get or set a control character by index (e.g., VEOF, VINTR).

my $cc = $termios->getcc(VEOF);
$termios->setcc(VEOF, 4);

Math Builtins (re-exported)

Termios::setcflag

Set the input, output, control, or local mode flags.

Termios::setiflag

Set the input, output, control, or local mode flags.

Termios::setispeed

Set the input or output baud rate.

Termios::setlflag

Set the input, output, control, or local mode flags.

Termios::setoflag

Set the input, output, control, or local mode flags.

Termios::setospeed

Set the input or output baud rate.

WEXITSTATUS

Inspect the status value returned by waitpid(). Standard POSIX wait macros.

use POSIX ':sys_wait_h';
if (WIFEXITED($status)) { print "exit code: ", WEXITSTATUS($status); }

FD Operations

WIFEXITED

Inspect the status value returned by waitpid(). Standard POSIX wait macros.

use POSIX ':sys_wait_h';
if (WIFEXITED($status)) { print "exit code: ", WEXITSTATUS($status); }

FD Operations

WIFSIGNALED

Inspect the status value returned by waitpid(). Standard POSIX wait macros.

use POSIX ':sys_wait_h';
if (WIFEXITED($status)) { print "exit code: ", WEXITSTATUS($status); }

FD Operations

WIFSTOPPED

Inspect the status value returned by waitpid(). Standard POSIX wait macros.

use POSIX ':sys_wait_h';
if (WIFEXITED($status)) { print "exit code: ", WEXITSTATUS($status); }

FD Operations

WSTOPSIG

Inspect the status value returned by waitpid(). Standard POSIX wait macros.

use POSIX ':sys_wait_h';
if (WIFEXITED($status)) { print "exit code: ", WEXITSTATUS($status); }

FD Operations

WTERMSIG

Inspect the status value returned by waitpid(). Standard POSIX wait macros.

use POSIX ':sys_wait_h';
if (WIFEXITED($status)) { print "exit code: ", WEXITSTATUS($status); }

FD Operations

_exit

Terminate the process immediately without cleanup (unlike exit).

abort

Abort the process, generating a core dump.

abs

Standard math functions re-exported through POSIX for compatibility. These delegate to the corresponding Perl builtins.

Process Identity

access

Check file accessibility (R_OK, W_OK, X_OK, F_OK). Returns “0 but true” on success.

Process Control

acos

Inverse trigonometric and hyperbolic functions.

acosh

Inverse trigonometric and hyperbolic functions.

alarm

Schedule a SIGALRM signal after the specified number of seconds. Returns the number of seconds remaining from a previous alarm.

asctime

Convert broken-down time to a string in ctime(3) format.

asin

Inverse trigonometric and hyperbolic functions.

asinh

Inverse trigonometric and hyperbolic functions.

atan

Inverse trigonometric and hyperbolic functions.

atan2

Standard math functions re-exported through POSIX for compatibility. These delegate to the corresponding Perl builtins.

Process Identity

atanh

Inverse trigonometric and hyperbolic functions.

cbrt

Cube root and hyperbolic/trigonometric functions.

ceil

Return the smallest integer not less than the argument.

use POSIX 'ceil';
my $c = ceil(3.2);  # 4

chdir

Change the current working directory. Returns 1 on success, 0 on failure.

chmod

Change file permissions. Returns 1 on success, 0 on failure.

clock

Return the processor time consumed by the program in clock ticks.

close

Close a file descriptor. Returns 0 on success, -1 on failure.

constant

if the name is not a known constant.

copysign

Return a value with the magnitude of x and the sign of y.

cos

Standard math functions re-exported through POSIX for compatibility. These delegate to the corresponding Perl builtins.

Process Identity

cosh

Cube root and hyperbolic/trigonometric functions.

creat

Create a new file or truncate an existing one. Equivalent to open($path, O_WRONLY|O_CREAT|O_TRUNC, $mode). Returns a file descriptor or undef on failure.

ctermid

Return the pathname of the controlling terminal.

ctime

Convert epoch seconds to a human-readable local time string.

difftime

Return the difference in seconds between two time values.

dup

Duplicate a file descriptor. dup2 duplicates to a specific target FD.

dup2

Duplicate a file descriptor. dup2 duplicates to a specific target FD.

erf

Error functions and gamma functions.

erfc

Error functions and gamma functions.

errno

Return the current value of the C errno variable.

use POSIX 'errno';
my $err = errno();

Perl Builtin Re-exports

exit

Terminate the process with the given exit code.

exp

Standard math functions re-exported through POSIX for compatibility. These delegate to the corresponding Perl builtins.

Process Identity

exp2

Exponential and logarithmic functions.

expm1

Exponential and logarithmic functions.

fabs

Standard math functions re-exported through POSIX for compatibility. These delegate to the corresponding Perl builtins.

Process Identity

fcntl

Perform a file control operation on a file descriptor. Returns the result value or undef on failure.

use POSIX qw(fcntl F_GETFL);
my $flags = fcntl($fd, F_GETFL, 0);

fdim

Positive difference, maximum, and minimum of two floats.

fegetround

Get the current floating-point rounding direction.

fesetround

Set the floating-point rounding direction (FE_TONEAREST, FE_DOWNWARD, FE_UPWARD, FE_TOWARDZERO).

Time Functions

fileno

Return the file descriptor number (pass-through).

floor

Return the largest integer not greater than the argument.

use POSIX 'floor';
my $f = floor(3.7);  # 3

fma

Fused multiply-add: x*y + z with a single rounding step.

fmax

Positive difference, maximum, and minimum of two floats.

fmin

Positive difference, maximum, and minimum of two floats.

fmod

Return the floating-point remainder of x/y.

use POSIX 'fmod';
my $r = fmod(10.5, 3.0);  # 1.5

fork

Create a child process. Returns the child PID to the parent, 0 to the child, or undef on failure.

fpathconf

Get the value of a configurable pathname/file-descriptor limit.

String Functions

fpclassify

Classify a floating-point value (FP_NAN, FP_INFINITE, FP_ZERO, FP_SUBNORMAL, FP_NORMAL).

frexp

Split a float into normalized fraction and exponent. Returns (fraction, exponent).

use POSIX 'frexp';
my ($frac, $exp) = frexp(8.0);  # (0.5, 4)

getcwd

Return the current working directory as a string.

getegid

Return the real or effective user/group ID.

getenv

Return the value of an environment variable, or undef if not set.

Character Classification

geteuid

Return the real or effective user/group ID.

getgid

Return the real or effective user/group ID.

getgrgid

Look up a group database entry by name or GID. Returns a 4-element list: (name, passwd, gid, members). Returns an empty list if not found.

Additional File Operations

getgrnam

Look up a group database entry by name or GID. Returns a 4-element list: (name, passwd, gid, members). Returns an empty list if not found.

Additional File Operations

getlogin

Return the login name associated with the current session, or undef.

getpgrp

Return the process group ID of the calling process.

getpid

Return the process ID or parent process ID.

getppid

Return the process ID or parent process ID.

getpwnam

Look up a password database entry by name or UID. Returns a 10-element list: (name, passwd, uid, gid, quota, comment, gecos, dir, shell, expire). Returns an empty list if not found.

use POSIX 'getpwnam';
my @pw = getpwnam('root');

getpwuid

Look up a password database entry by name or UID. Returns a 10-element list: (name, passwd, uid, gid, quota, comment, gecos, dir, shell, expire). Returns an empty list if not found.

use POSIX 'getpwnam';
my @pw = getpwnam('root');

getuid

Return the real or effective user/group ID.

hypot

Return sqrt(xx + yy) without overflow.

ilogb

Return the exponent of a float as a signed integer.

isalnum

Locale-aware character classification functions. Accept an integer (ordinal value of a character) and return 1 (true) or 0 (false).

use POSIX qw(isdigit isalpha);
isdigit(ord('5'));  # 1
isalpha(ord('A'));  # 1

isalpha

Locale-aware character classification functions. Accept an integer (ordinal value of a character) and return 1 (true) or 0 (false).

use POSIX qw(isdigit isalpha);
isdigit(ord('5'));  # 1
isalpha(ord('A'));  # 1

isatty

Test whether a file descriptor refers to a terminal. Returns 1 or 0.

use POSIX 'isatty';
print "interactive\n" if isatty(0);

iscntrl

Locale-aware character classification functions. Accept an integer (ordinal value of a character) and return 1 (true) or 0 (false).

use POSIX qw(isdigit isalpha);
isdigit(ord('5'));  # 1
isalpha(ord('A'));  # 1

isdigit

Locale-aware character classification functions. Accept an integer (ordinal value of a character) and return 1 (true) or 0 (false).

use POSIX qw(isdigit isalpha);
isdigit(ord('5'));  # 1
isalpha(ord('A'));  # 1

isfinite

Floating-point classification predicates. Return 1 (true) or 0 (false).

isgraph

Locale-aware character classification functions. Accept an integer (ordinal value of a character) and return 1 (true) or 0 (false).

use POSIX qw(isdigit isalpha);
isdigit(ord('5'));  # 1
isalpha(ord('A'));  # 1

isgreater

Floating-point comparison macros. Compare two NV values without raising FP exceptions on NaN. isunordered returns 1 if either argument is NaN. All return 1 (true) or 0 (false).

use POSIX qw(isgreater isunordered NAN);
isgreater(3.0, 2.0);     # 1
isunordered(NAN, 1.0);   # 1

Signal Handling

isgreaterequal

Floating-point comparison macros. Compare two NV values without raising FP exceptions on NaN. isunordered returns 1 if either argument is NaN. All return 1 (true) or 0 (false).

use POSIX qw(isgreater isunordered NAN);
isgreater(3.0, 2.0);     # 1
isunordered(NAN, 1.0);   # 1

Signal Handling

isinf

Floating-point classification predicates. Return 1 (true) or 0 (false).

isless

Floating-point comparison macros. Compare two NV values without raising FP exceptions on NaN. isunordered returns 1 if either argument is NaN. All return 1 (true) or 0 (false).

use POSIX qw(isgreater isunordered NAN);
isgreater(3.0, 2.0);     # 1
isunordered(NAN, 1.0);   # 1

Signal Handling

islessequal

Floating-point comparison macros. Compare two NV values without raising FP exceptions on NaN. isunordered returns 1 if either argument is NaN. All return 1 (true) or 0 (false).

use POSIX qw(isgreater isunordered NAN);
isgreater(3.0, 2.0);     # 1
isunordered(NAN, 1.0);   # 1

Signal Handling

islessgreater

Floating-point comparison macros. Compare two NV values without raising FP exceptions on NaN. isunordered returns 1 if either argument is NaN. All return 1 (true) or 0 (false).

use POSIX qw(isgreater isunordered NAN);
isgreater(3.0, 2.0);     # 1
isunordered(NAN, 1.0);   # 1

Signal Handling

islower

Locale-aware character classification functions. Accept an integer (ordinal value of a character) and return 1 (true) or 0 (false).

use POSIX qw(isdigit isalpha);
isdigit(ord('5'));  # 1
isalpha(ord('A'));  # 1

isnan

Floating-point classification predicates. Return 1 (true) or 0 (false).

isnormal

Floating-point classification predicates. Return 1 (true) or 0 (false).

isprint

Locale-aware character classification functions. Accept an integer (ordinal value of a character) and return 1 (true) or 0 (false).

use POSIX qw(isdigit isalpha);
isdigit(ord('5'));  # 1
isalpha(ord('A'));  # 1

ispunct

Locale-aware character classification functions. Accept an integer (ordinal value of a character) and return 1 (true) or 0 (false).

use POSIX qw(isdigit isalpha);
isdigit(ord('5'));  # 1
isalpha(ord('A'));  # 1

isspace

Locale-aware character classification functions. Accept an integer (ordinal value of a character) and return 1 (true) or 0 (false).

use POSIX qw(isdigit isalpha);
isdigit(ord('5'));  # 1
isalpha(ord('A'));  # 1

isunordered

Floating-point comparison macros. Compare two NV values without raising FP exceptions on NaN. isunordered returns 1 if either argument is NaN. All return 1 (true) or 0 (false).

use POSIX qw(isgreater isunordered NAN);
isgreater(3.0, 2.0);     # 1
isunordered(NAN, 1.0);   # 1

Signal Handling

isupper

Locale-aware character classification functions. Accept an integer (ordinal value of a character) and return 1 (true) or 0 (false).

use POSIX qw(isdigit isalpha);
isdigit(ord('5'));  # 1
isalpha(ord('A'));  # 1

isxdigit

Locale-aware character classification functions. Accept an integer (ordinal value of a character) and return 1 (true) or 0 (false).

use POSIX qw(isdigit isalpha);
isdigit(ord('5'));  # 1
isalpha(ord('A'));  # 1

j0

Bessel functions of the first and second kind.

j1

Bessel functions of the first and second kind.

jn

Bessel functions of the first and second kind.

kill

Send a signal to a process. Returns the result of the underlying kill(2) call.

lchown

Change ownership of a symlink (does not follow the link).

Wait Status Macros

ldexp

Multiply a float by 2 raised to an integer power: x * 2^exp.

use POSIX 'ldexp';
my $v = ldexp(0.5, 4);  # 8.0

lgamma

Error functions and gamma functions.

Create or remove a hard link. Returns 1 on success, 0 on failure.

localeconv

Return a hash reference of locale-specific numeric formatting conventions.

FP Comparison

log

Standard math functions re-exported through POSIX for compatibility. These delegate to the corresponding Perl builtins.

Process Identity

log10

Exponential and logarithmic functions.

log1p

Exponential and logarithmic functions.

log2

Exponential and logarithmic functions.

logb

Exponential and logarithmic functions.

lrint

Round to nearest long integer (lrint uses current rounding mode, lround rounds halfway away from zero).

FP Rounding Mode

lround

Round to nearest long integer (lrint uses current rounding mode, lround rounds halfway away from zero).

FP Rounding Mode

lseek

Reposition the file offset of an open file descriptor.

mkdir

Create or remove a directory. Returns 1 on success, 0 on failure.

mkfifo

Create a FIFO (named pipe) with the specified permissions.

mktime

Convert broken-down time to epoch seconds.

use POSIX 'mktime';
my $epoch = mktime($sec, $min, $hour, $mday, $mon, $year);

modf

Split a float into integer and fractional parts. Returns (fraction, integer).

use POSIX 'modf';
my ($frac, $int) = modf(3.75);  # (0.75, 3.0)

nan

Return a quiet NaN with the given payload string.

FP Classification

nearbyint

Round to nearest integer using current rounding mode.

Math: 2-argument (NV, NV -> NV)

nextafter

IEEE remainder and next representable float toward y.

Math: Special

nice

Change the process scheduling priority by the given increment.

open

Open a file using POSIX semantics (returns a raw file descriptor).

use POSIX qw(open O_RDONLY);
my $fd = POSIX::open("/etc/passwd", O_RDONLY);

pathconf

Get the value of a configurable pathname/file-descriptor limit.

String Functions

pause

Suspend the process until a signal is received.

pipe

Create a pair of connected file descriptors. Returns (read_fd, write_fd).

pow

Standard math functions re-exported through POSIX for compatibility. These delegate to the corresponding Perl builtins.

Process Identity

printf

Format strings using Perl’s sprintf/printf. Re-exported through POSIX for compatibility with code that imports them from POSIX.

read

Read bytes from a file descriptor into a buffer. Returns the number of bytes read.

remainder

IEEE remainder and next representable float toward y.

Math: Special

remove

Remove a file or directory. Returns 1 on success, 0 on failure.

remquo

Return the remainder and partial quotient of x/y.

rename

Rename a file. Returns 1 on success, 0 on failure.

use POSIX 'rename';
rename("old.txt", "new.txt");

rint

Round to nearest integer using current rounding mode.

Math: 2-argument (NV, NV -> NV)

rmdir

Create or remove a directory. Returns 1 on success, 0 on failure.

round

Round to the nearest integer, halfway cases away from zero.

use POSIX 'round';
my $r = round(2.5);  # 3

scalbn

Scale a float by a power of the radix: x * FLT_RADIX^n.

setgid

Set group ID, user ID, process group ID, or create a new session.

setlocale

Set or query the program’s locale.

use POSIX 'setlocale';
setlocale(LC_ALL, "C");

setpgid

Set group ID, user ID, process group ID, or create a new session.

setsid

Set group ID, user ID, process group ID, or create a new session.

setuid

Set group ID, user ID, process group ID, or create a new session.

sigaction

Install or query a signal handler for a given signal number. Stub implementation: returns 0 (success) without installing a C-level handler. For real signal handling, use Perl’s %SIG.

use POSIX qw(sigaction SIGINT);
my $act = POSIX::SigAction->new('IGNORE');
sigaction(SIGINT, $act);

signbit

Floating-point classification predicates. Return 1 (true) or 0 (false).

sigpending

Store the set of currently pending signals into a SigSet object. Returns 0 on success, -1 on failure.

sigprocmask

Examine or change the process signal mask. $how is SIG_BLOCK, SIG_UNBLOCK, or SIG_SETMASK. Optionally stores the previous mask into $oldsigset.

use POSIX qw(sigprocmask SIG_BLOCK SIGINT);
my $new = POSIX::SigSet->new(SIGINT);
my $old = POSIX::SigSet->new();
sigprocmask(SIG_BLOCK, $new, $old);

POSIX::SigSet

sigsuspend

Temporarily replace the signal mask and suspend the process until a signal is delivered. Always returns -1 with errno EINTR.

use POSIX qw(sigsuspend);
my $set = POSIX::SigSet->new();
sigsuspend($set);

sin

Standard math functions re-exported through POSIX for compatibility. These delegate to the corresponding Perl builtins.

Process Identity

sinh

Cube root and hyperbolic/trigonometric functions.

sleep

Suspend execution for the specified number of seconds (C-level, not Perl’s sleep).

sprintf

Format strings using Perl’s sprintf/printf. Re-exported through POSIX for compatibility with code that imports them from POSIX.

sqrt

Standard math functions re-exported through POSIX for compatibility. These delegate to the corresponding Perl builtins.

Process Identity

srand

Seed the C library random number generator.

Perl equivalent: POSIX

strcoll

Compare two strings according to the current locale.

strerror

Return the error message string for an errno value.

use POSIX 'strerror';
print strerror(2);  # "No such file or directory"

strftime

Format a broken-down time according to a format string.

use POSIX 'strftime';
my $str = strftime("%Y-%m-%d", localtime);

strstr

Find the first occurrence of a substring. Returns the offset or -1.

File I/O

strtod

Convert a string to a double. Returns (value, unparsed_length).

use POSIX 'strtod';
my ($val, $remaining) = strtod("3.14foo");

strtol

Convert a string to a long integer with the given base. Returns (value, unparsed_length).

use POSIX 'strtol';
my ($val, $remaining) = strtol("0xFF", 16);

strtoul

Convert a string to an unsigned long integer with the given base.

sysconf

Get the value of a configurable system limit or option.

system

Execute a shell command. Returns the exit status of the command.

tan

Cube root and hyperbolic/trigonometric functions.

tanh

Cube root and hyperbolic/trigonometric functions.

tcdrain

Terminal I/O control functions for draining output, flow control, flushing, and process groups.

Locale

tcflow

Terminal I/O control functions for draining output, flow control, flushing, and process groups.

Locale

tcflush

Terminal I/O control functions for draining output, flow control, flushing, and process groups.

Locale

tcgetpgrp

Terminal I/O control functions for draining output, flow control, flushing, and process groups.

Locale

tcsendbreak

Terminal I/O control functions for draining output, flow control, flushing, and process groups.

Locale

tcsetpgrp

Terminal I/O control functions for draining output, flow control, flushing, and process groups.

Locale

tgamma

Error functions and gamma functions.

time

Return the current epoch time in seconds.

times

Return process and child CPU times as (real, user, system, cuser, csystem).

tolower

Convert a character’s ordinal value to upper or lower case according to the current locale. Returns the converted ordinal value.

User/Group Database

toupper

Convert a character’s ordinal value to upper or lower case according to the current locale. Returns the converted ordinal value.

User/Group Database

trunc

Truncate toward zero (discard fractional part).

use POSIX 'trunc';
my $t = trunc(-3.7);  # -3

ttyname

Return the name of the terminal device associated with a file descriptor.

tzname

Return the standard and daylight-saving timezone names as a two-element list.

System Info

tzset

Set timezone information from the TZ environment variable.

umask

Set the file creation mask. Returns the previous mask value.

uname

Return system identification as (sysname, nodename, release, version, machine).

use POSIX 'uname';
my ($sys, $node, $rel, $ver, $mach) = uname();

Create or remove a hard link. Returns 1 on success, 0 on failure.

wait

Wait for a child process to change state. wait waits for any child; waitpid waits for a specific PID with the given flags (e.g., WNOHANG).

waitpid

Wait for a child process to change state. wait waits for any child; waitpid waits for a specific PID with the given flags (e.g., WNOHANG).

write

Write bytes from a buffer to a file descriptor. Returns the number of bytes written.

Terminal Control

y0

Bessel functions of the first and second kind.

y1

Bessel functions of the first and second kind.

yn

Bessel functions of the first and second kind.