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.
link
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();
unlink
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.