#pid #file #locks #file-descriptor #traits #extend #fd-lock

filelock-rs

Minimal Rust library that provides functionality for managing PID files and file locks

2 releases

0.1.0-beta.2 Jun 25, 2023

#9 in #locks

Download history 9/week @ 2024-06-24 23/week @ 2024-07-01 97/week @ 2024-07-29 71/week @ 2024-08-05 13/week @ 2024-08-26 13/week @ 2024-09-09 29/week @ 2024-09-23 26/week @ 2024-09-30 19/week @ 2024-10-07

83 downloads per month

GPL-2.0 license

13KB
100 lines

filelock-rs

Crates.io Documentation

filelock-rs is a Rust library that provides functionality for managing PID files and file locks.

Features

  • Pid: The pid module provides functionality for creating, reading, and managing PID files.
  • FdLock: The fdlock module provides a trait FdLock that extends the AsRawFd trait, allowing file locks to be placed on file descriptors.

Installation

Add this to your Cargo.toml:

[dependencies]
filelock-rs = "0.1.0"

Usage

use filelock-rs_rs::pid::Pid;
use filelock-rs_rs::fdlock::FdLock;

fn main() {
    // Store the file in the struct of the process
    // because the pid stop to exist when this Pid instance
    // is dropped.
    let pid_file = Pid::new("/var/run", "my_app").expect("Failed to create PID file");

    let file = std::fs::File::new("/tmp/file.txt").unwrap();
    // Lock the file exclusively
    file.lock_exclusive().expect("Failed to lock PID file");

    // Perform some operations...

    // Unlock the file
    file.unlock().expect("Failed to unlock PID file");
}

License

Copyright 2023 Vincenzo Palazzo <vincenzopalazzodev@gmail.com>. See LICENSE file.

Dependencies

~43KB