Skip to main content

running_process/
unix.rs

1#[derive(Debug, Clone, Copy, PartialEq, Eq)]
2pub enum UnixSignal {
3    Interrupt,
4    Terminate,
5    Kill,
6}
7
8fn kind(
9    signal: UnixSignal,
10) -> running_process_platform_internal::platform::process::UnixSignalKind {
11    use running_process_platform_internal::platform::process::UnixSignalKind;
12    match signal {
13        UnixSignal::Interrupt => UnixSignalKind::Interrupt,
14        UnixSignal::Terminate => UnixSignalKind::Terminate,
15        UnixSignal::Kill => UnixSignalKind::Kill,
16    }
17}
18
19pub fn unix_set_priority(pid: u32, nice: i32) -> Result<(), std::io::Error> {
20    running_process_platform_internal::platform::process::unix_set_priority(pid, nice)
21}
22pub fn unix_signal_process(pid: u32, signal: UnixSignal) -> Result<(), std::io::Error> {
23    running_process_platform_internal::platform::process::unix_signal_process(pid, kind(signal))
24}
25pub fn unix_signal_process_group(pid: i32, signal: UnixSignal) -> Result<(), std::io::Error> {
26    running_process_platform_internal::platform::process::unix_signal_process_group(
27        pid,
28        kind(signal),
29    )
30}
31#[cfg(test)]
32pub(crate) fn unix_signal_raw(signal: UnixSignal) -> i32 {
33    running_process_platform_internal::platform::process::unix_signal_raw(kind(signal))
34}