tokio::signal::unix

Struct SignalKind

Source
pub struct SignalKind(/* private fields */);
Available on Unix and crate feature signal only.
Expand description

Represents the specific kind of signal to listen for.

Implementations§

Source§

impl SignalKind

Source

pub const fn from_raw(signum: c_int) -> Self

Allows for listening to any valid OS signal.

For example, this can be used for listening for platform-specific signals.

// let signum = libc::OS_SPECIFIC_SIGNAL;
let kind = SignalKind::from_raw(signum);
Source

pub const fn as_raw_value(&self) -> c_int

Get the signal’s numeric value.

let kind = SignalKind::interrupt();
assert_eq!(kind.as_raw_value(), libc::SIGINT);
Source

pub const fn alarm() -> Self

Represents the SIGALRM signal.

On Unix systems this signal is sent when a real-time timer has expired. By default, the process is terminated by this signal.

Source

pub const fn child() -> Self

Represents the SIGCHLD signal.

On Unix systems this signal is sent when the status of a child process has changed. By default, this signal is ignored.

Source

pub const fn hangup() -> Self

Represents the SIGHUP signal.

On Unix systems this signal is sent when the terminal is disconnected. By default, the process is terminated by this signal.

Source

pub const fn interrupt() -> Self

Represents the SIGINT signal.

On Unix systems this signal is sent to interrupt a program. By default, the process is terminated by this signal.

Source

pub const fn io() -> Self

Represents the SIGIO signal.

On Unix systems this signal is sent when I/O operations are possible on some file descriptor. By default, this signal is ignored.

Source

pub const fn pipe() -> Self

Represents the SIGPIPE signal.

On Unix systems this signal is sent when the process attempts to write to a pipe which has no reader. By default, the process is terminated by this signal.

Source

pub const fn quit() -> Self

Represents the SIGQUIT signal.

On Unix systems this signal is sent to issue a shutdown of the process, after which the OS will dump the process core. By default, the process is terminated by this signal.

Source

pub const fn terminate() -> Self

Represents the SIGTERM signal.

On Unix systems this signal is sent to issue a shutdown of the process. By default, the process is terminated by this signal.

Source

pub const fn user_defined1() -> Self

Represents the SIGUSR1 signal.

On Unix systems this is a user defined signal. By default, the process is terminated by this signal.

Source

pub const fn user_defined2() -> Self

Represents the SIGUSR2 signal.

On Unix systems this is a user defined signal. By default, the process is terminated by this signal.

Source

pub const fn window_change() -> Self

Represents the SIGWINCH signal.

On Unix systems this signal is sent when the terminal window is resized. By default, this signal is ignored.

Trait Implementations§

Source§

impl Clone for SignalKind

Source§

fn clone(&self) -> SignalKind

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SignalKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<SignalKind> for c_int

Source§

fn from(kind: SignalKind) -> Self

Converts to this type from the input type.
Source§

impl From<i32> for SignalKind

Source§

fn from(signum: c_int) -> Self

Converts to this type from the input type.
Source§

impl Hash for SignalKind

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for SignalKind

Source§

fn eq(&self, other: &SignalKind) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for SignalKind

Source§

impl Eq for SignalKind

Source§

impl StructuralPartialEq for SignalKind

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 4 bytes