#pidfile #bsd #function #system #running #file #libbsd

pidfile-rs

Rust 对 libbsd/libutil 中的 pidfile_* 函数的封装

4 个版本

0.2.0 2024年1月9日
0.1.2 2022年11月7日
0.1.1 2021年10月5日
0.1.0 2020年11月2日

#408 in Unix API

Download history 21/week @ 2024-04-02 1/week @ 2024-05-21

每月下载量:64
inputplug 中使用

MIT 许可证

14KB
213 行代码(不含注释)

Rust 的 BSD pidfile

这个包提供了一组在 BSD 系统中通过 libutil 和其他地方通过 libbsd 提供的 pidfile_* 函数的封装。

纯 Rust 中的已知替代品

  • pidfile 由 Carl Lerche 开发,功能非常强大,但最后一次更新是在 2014 年,并且不再与现代 Rust 兼容。
  • pidlock 由 Paul Hummer 开发,提供类似锁的 API,但实际上并没有使用文件系统锁。
  • qpidfile 由 Jan Danielsson 开发,维护得很好,但功能非常基础。

BSD pidfile 函数使用非常巧妙的锁定机制,可以检测同时运行的守护程序,并允许延迟写入 PID 文件,以便在 fork 之前处理潜在的错误。

最终目标是使用 Rust 重写这些函数,但在重写完成之前,最好使用 FFI 来使用 BSD 函数。

许可证

MIT 许可证,也称为 Expat 许可证。

除非你明确声明,否则你提交给作品以包含在内的任何贡献都应按照上述许可证进行许可,而无需任何附加条款或条件。

依赖项

~0.3–0.8MB
~19K SLoC