1 个稳定版本

1.0.0 2023 年 4 月 29 日

#154#monitor

Unlicense 许可协议

15KB
266 代码行

Monzilla

coverage Crates.io Docs.rs

一个简单的文件监视工具。它会运行一个程序,然后监视指定的文件是否发生变化,如果文件发生变化,则重新启动程序。您也可以手动重新启动程序。如果您需要更多功能,我建议使用 Watchman

安装

使用以下命令安装命令行工具

cargo install monzilla_rs

然后您可以运行它,例如以下这样

monzilla -g 'scratch/*.fish' 'scratch/xyz.json5' -- scratch/forever.fish

任何文件发生变化时,程序都会被终止并重新启动。

亮点

此工具展示了如何在 Rust 中完成各种高级功能

  • 如何使用 termios 捕获终端中的 CTRL+C 和 CTRL+R
  • 使用 crossbeamselect 等待多个通道
  • 如何使用 notify 监视文件变化,同时进行多次变化的防抖处理。
  • 使用 command-group 将子进程分组,以便您可以终止整个进程树,而不仅仅是直接子进程。

此外,还有我 rust_cli_quickstart 中的所有好东西。

依赖项

~4–12MB
~129K SLoC