1 个稳定版本
1.0.0 | 2023 年 4 月 29 日 |
---|
#154 在 #monitor
15KB
266 代码行
Monzilla
一个简单的文件监视工具。它会运行一个程序,然后监视指定的文件是否发生变化,如果文件发生变化,则重新启动程序。您也可以手动重新启动程序。如果您需要更多功能,我建议使用 Watchman。
安装
使用以下命令安装命令行工具
cargo install monzilla_rs
然后您可以运行它,例如以下这样
monzilla -g 'scratch/*.fish' 'scratch/xyz.json5' -- scratch/forever.fish
任何文件发生变化时,程序都会被终止并重新启动。
亮点
此工具展示了如何在 Rust 中完成各种高级功能
- 如何使用 termios 捕获终端中的 CTRL+C 和 CTRL+R
- 使用 crossbeam 和
select
等待多个通道 - 如何使用 notify 监视文件变化,同时进行多次变化的防抖处理。
- 使用 command-group 将子进程分组,以便您可以终止整个进程树,而不仅仅是直接子进程。
此外,还有我 rust_cli_quickstart 中的所有好东西。
依赖项
~4–12MB
~129K SLoC