Crates.io | single-instance |
lib.rs | single-instance |
version | 0.3.3 |
source | src |
created_at | 2018-01-30 15:51:10.52661 |
updated_at | 2021-12-16 12:55:04.567463 |
description | A rust library for single instance application. |
homepage | |
repository | https://github.com/WLBF/single-instance |
max_upload_size | |
id | 48906 |
size | 12,225 |
single-instance provides a single API to check if there are any other running instance.
On windows, init SingleInstance
will create a mutex named by given &str
then check error code by calling GetLastError
. On linux init will bind abstract unix domain socket with given name . On macos, init will create or open a file which path is given &str
, then call flock
to apply an advisory lock on the open file.
[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());
}