5 releases
0.1.4 | Sep 27, 2024 |
---|---|
0.1.3 | Aug 3, 2024 |
0.1.2 | Aug 3, 2024 |
0.1.1 | Aug 3, 2024 |
0.1.0 | Aug 2, 2024 |
#596 in Development tools
425 downloads per month
51KB
1K
SLoC
filelocksmith-rs
Reliably find and quit processes that are locking a file or folder on Windows. This is a difficult problem to solve on Windows, as the OS does not provide a built-in or straight-forward way to do this.
Additionally, unlike *nix, files and folders can not be deleted or moved while they are locked by a process.
This library wraps the FileLocksmith module from the Microsoft PowerToys project, which is written in C++.
Further documentation at https://docs.rs/filelocksmith
Installing
[dependencies]
filelocksmith = "0.1"
Usage
use filelocksmith::{find_processes_locking_path, quit_processes, pid_to_process_path};
let path = "C:\\path\\to\\file.txt";
let pids = find_processes_locking_path(path);
// print paths of processes locking the file
for pid in &pids {
println!("[{}] {:?}", pid, pid_to_process_path(*pid));
}
// quit the processes locking the file
if quit_processes(pids) {
println!("Processes quit successfully");
}
No runtime deps
~0–280KB