8 个版本
使用旧Rust 2015
0.3.3 | 2021年12月16日 |
---|---|
0.3.2 | 2021年9月22日 |
0.3.1 | 2021年2月14日 |
0.2.0 | 2021年2月13日 |
0.1.0 | 2018年1月30日 |
#223 in 操作系统
10,542 每月下载量
在 16 个crate中使用 (15 直接)
9KB
156 代码行
single-instance
single-instance 提供一个API来检查是否有其他正在运行的实例。
详细信息
在Windows上,init SingleInstance
将创建一个名为给定 &str
的互斥锁,然后通过调用 GetLastError
来检查错误代码。在Linux上,init 将绑定具有给定名称的抽象Unix域套接字。在macos上,init 将创建或打开一个路径为给定 &str
的文件,然后调用 flock
在打开的文件上应用建议锁。
[dependencies]
single-instance = "0.3"
示例
extern crate single_instance;
use single_instance::SingleInstance;
fn main() {
{
let instance_a = SingleInstance::new("whatever").unwrap();
assert!(instance_a.is_single());
let instance_b = SingleInstance::new("whatever").unwrap();
assert!(!instance_b.is_single());
}
let instance_c = SingleInstance::new("whatever").unwrap();
assert!(instance_c.is_single());
}
依赖关系
~3MB
~61K SLoC