Module rustix::process

source ·
Available on crate feature process only.
Expand description

Process-associated operations.

Structs

CpuSet represents a bit-mask of CPUs.
A Linux CPU ID.
Zero means floating point exceptions are disabled.
gid_t—A Unix group ID.
pid_t—A non-zero Unix process ID.
This structure provides new memory descriptor map which mostly modifies /proc/pid/stat[m] output for a task. This mostly done in a sake of checkpoint/restore functionality.
struct rlimit—Current and maximum values used in getrlimit, setrlimit, and prlimit.
Zero means the processors are not vulnerable.
uid_t—A Unix user ID.
struct utsname—Return type for uname.
Options for modifying the behavior of wait/waitpid
the status of the child processes the caller waited on

Enums

SUID_DUMP_*.
PR_ENDIAN_*.
PR_FP_MODE_*.
A command for use with membarrier and membarrier_cpu.
Process ptracer.
A resource value for use with getrlimit, setrlimit, and prlimit.
A signal number for use with kill_process and kill_process_group.
PR_TIMING_*.

Constants

EXIT_FAILURE for use with exit.
The exit status used by a process terminated with SIGABRT signal.
EXIT_SUCCESS for use with exit.

Functions

chdir(path)—Change the current working directory.
Get the child subreaper setting of the calling process.
Put the process in the IO_FLUSHER state, allowing it to make progress when allocating memory.
Enable or disable all performance counters attached to the calling process.
Set enabled pointer authentication keys.
Provides one-shot access to all the addresses by passing in a PrctlMmMap.
Sets the state of the speculation misfeature.
Get the current state of the calling process’s dumpable attribute.
Get enabled pointer authentication keys.
Get the endianness of the calling process.
fchdir(fd)—Change the current working directory.
Get floating point emulation control bits.
Get floating point exception mode.
Get the current floating point mode.
getcwd()—Return the current working directory.
getegid()—Returns the process’ effective group ID.
geteuid()—Returns the process’ effective user ID.
getgid()—Returns the process’ real group ID.
getpgid(pid)—Returns the process group ID of the given process.
getpgrp()—Returns the process’ group ID.
getpid()—Returns the process’ ID.
getppid()—Returns the parent process’ ID.
getpriority(PRIO_PGRP, gid)—Get the scheduling priority of the given process group.
getpriority(PRIO_PROCESS, pid)—Get the scheduling priority of the given process.
getpriority(PRIO_USER, uid)—Get the scheduling priority of the given user.
getrlimit(resource)—Get a process resource limit value.
getuid()—Returns the process’ real user ID.
Get the IO_FLUSHER state of the caller.
kill(0, sig)—Sends a signal to all processes in the current process group.
kill(pid, sig)—Sends a signal to a process.
kill(-pid, sig)—Sends a signal to all processes in a process group.
Get the current per-process machine check kill policy.
membarrier(cmd, 0, 0)—Perform a memory barrier.
membarrier(cmd, MEMBARRIER_CMD_FLAG_CPU, cpu)—Perform a memory barrier with a specific CPU.
membarrier(MEMBARRIER_CMD_QUERY, 0, 0)—Query the supported membarrier commands.
nice()—Adjust the scheduling priority of the current process.
Get the current value of the parent process death signal.
prlimit(pid, resource, new)—Get and set a process resource limit value.
sched_getaffinity(pid)—Get a thread’s CPU affinity mask.
sched_setaffinity(pid, cpuset)—Set a thread’s CPU affinity mask.
sched_yield()—Hints to the OS that other processes should run.
Set a new auxiliary vector.
Set the child subreaper attribute of the calling process.
Set the state of the dumpable attribute, which determines whether the process can be traced and whether core dumps are produced for the calling process upon delivery of a signal whose default behavior is to produce a core dump.
Set the endianness of the calling process.
Supersede the /proc/pid/exe symbolic link with a new one pointing to a new executable file.
Set floating point emulation control bits.
Set floating point exception mode.
Allow control of the floating point mode from user space.
Set the machine check memory corruption kill policy for the calling thread.
Set the parent-death signal of the calling process.
Declare that the ptracer process can ptrace the calling process as if it were a direct process ancestor.
Set the state of the flag determining if the timestamp counter can be read by the process.
Set whether to use (normal, traditional) statistical process timing or accurate timestamp-based process timing.
Set unaligned access control bits.
Modify certain kernel memory map descriptor addresses of the calling process.
Set the name for a virtual memory region.
setpriority(PRIO_PGRP, pgid)—Get the scheduling priority of the given process group.
setpriority(PRIO_PROCESS, pid)—Get the scheduling priority of the given process.
setpriority(PRIO_USER, uid)—Get the scheduling priority of the given user.
setrlimit(resource, new)—Set a process resource limit value.
setsid()—Create a new session.
Get the state of the speculation misfeature.
Get the state of the flag determining if the timestamp counter can be read.
Get which process timing method is currently in use.
Get unaligned access control bits.
uname()—Returns high-level information about the runtime OS and hardware.
Get the size of the PrctlMmMap the kernel expects.
wait(waitopts)—Wait for any of the children of calling process to change state.
waitpid(pid, waitopts)—Wait for a specific process to change state.

Type Definitions

The raw integer value of a Unix group ID. A group identifier as a raw integer.
The raw integer value of a Unix process ID. A non-zero process identifier as a raw non-zero integer.
The raw integer value of a Unix process ID. A process identifier as a raw integer.
The raw integer value of a Unix user ID. A user identifier as a raw integer.