#systemd #linux #api-bindings

libsystemd

纯Rust客户端库,用于与systemd交互

12个版本 (7个破坏性更新)

0.7.0 2023年11月8日
0.6.0 2022年12月20日
0.5.0 2022年1月11日
0.4.1 2021年11月17日
0.0.2 2017年9月17日

#89 in Unix API

Download history 5534/week @ 2024-03-30 5926/week @ 2024-04-06 5790/week @ 2024-04-13 5599/week @ 2024-04-20 5221/week @ 2024-04-27 5798/week @ 2024-05-04 5936/week @ 2024-05-11 5287/week @ 2024-05-18 5162/week @ 2024-05-25 7402/week @ 2024-06-01 8762/week @ 2024-06-08 8515/week @ 2024-06-15 7658/week @ 2024-06-22 5988/week @ 2024-06-29 5623/week @ 2024-07-06 5129/week @ 2024-07-13

每月25,995次下载
用于 21个 crate(14个直接使用)

MIT/Apache

95KB
2K SLoC

libsystemd

crates.io LoC Documentation

纯Rust客户端库,用于与systemd协作。

它提供了与现代Linux系统上可用的systemd组件交互的支持。此crate完全用Rust实现,无需libsystemd C库。

注意:此crate尚未完全功能齐全。如果您不关心C依赖,请改用 rust-systemd

示例

extern crate libsystemd;
use libsystemd::daemon::{self, NotifyState};

fn main() {
    if !daemon::booted() {
        panic!("Not running systemd, early exit.");
    };

    let sent = daemon::notify(true, &[NotifyState::Ready]).expect("notify failed");
    if !sent {
        panic!("Notification not sent, early exit.");
    };
    std::thread::park();
}

更多示例可在 examples 下找到。

许可证

许可协议如下

任选其一。

依赖项

~4.5MB
~96K SLoC