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

filelock-rs

提供管理 PID 文件和文件锁功能的 Rust 库(最小化版本)

2 个版本

0.1.0-beta.22023 年 6 月 25 日

#11 in #locks

Download history 17/week @ 2024-03-27 65/week @ 2024-04-03 9/week @ 2024-04-10 2/week @ 2024-04-17 6/week @ 2024-05-08 46/week @ 2024-05-15 26/week @ 2024-05-22 64/week @ 2024-05-29 17/week @ 2024-06-05 17/week @ 2024-06-12 39/week @ 2024-06-19 19/week @ 2024-06-26 12/week @ 2024-07-03

每月下载量 78

GPL-2.0 许可协议

13KB
100

filelock-rs

Crates.io Documentation

filelock-rs 是一个 Rust 库,提供管理 PID 文件和文件锁的功能。

功能

  • Pid: pid 模块提供创建、读取和管理 PID 文件的功能。
  • FdLock: fdlock 模块提供了一个扩展了 AsRawFd 特性的 FdLock 特性,允许在文件描述符上放置文件锁。

安装

将以下内容添加到您的 Cargo.toml

[dependencies]
filelock-rs = "0.1.0"

用法

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");
}

许可协议

Copyright 2023 Vincenzo Palazzo <[email protected]>. See LICENSE file.

依赖项

~43KB