pidfile-rs

Crates.iopidfile-rs
lib.rspidfile-rs
version0.2.0
sourcesrc
created_at2020-11-02 11:59:48.974805
updated_at2024-01-09 11:24:19.882368
descriptionRust wrapper for pidfile_* functions from libbsd/libutil
homepage
repositoryhttps://github.com/andrewshadura/bsd-pidfile-rs
max_upload_size
id307831
size15,014
Andrej Shadura (andrewshadura)

documentation

https://docs.rs/pidfile-rs

README

BSD pidfile for Rust

This crate provides a wrapper for a family of pidfile_* functions provided in the BSD systems by libutil, and elsewhere by libbsd.

Known alternatives in pure Rust:

  • pidfile by Carl Lerche, very advanced, but last updated in 2014 and no longer compiles with modern Rust.
  • pidlock by Paul Hummer provides a lock-like API, but doesn’t actually use filesystem locks.
  • qpidfile by Jan Danielsson, well-maintained, but very basic.

The BSD pidfile functions employ very clever locking mechanism, detect concurrently running daemons and allow deferring writes to the PID file, so potential errors can be handled before a fork.

The ultimate goal is to rewrite these functions in Rust, but until a rewrite is done, it’s best to use the BSD functions using the FFI.

License

MIT license, also known as the Expat license.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be licensed as above, without any additional terms or conditions.

Commit count: 11

cargo fmt