aynur rust进程守护工具
内容提要
Aynur 是一款轻量级进程守护工具,专为本地 Rust 程序设计,类似 PM2。它通过后台守护进程维持程序运行,支持启动、停止、重启、重载、列表查看和日志查看等命令。安装简单,使用 `cargo install aynur`,配置存储于 `~/.aynur` 目录。支持环境变量管理、日志重定向和崩溃自动重启,但仅限 Linux/macOS,不包含集群、远程管理或 Windows 支持。
延伸解读
适用场景与定位
Aynur 面向本地 Rust 二进制程序的进程守护需求,定位轻量、类 PM2 但功能精简。它适合开发者在个人电脑或服务器上管理少量 Rust 服务,无需复杂配置。若需要集群、远程管理或 Windows 支持,则需考虑其他工具。
使用注意事项
Aynur 仅支持 Linux/macOS,且依赖 Rust 工具链安装。配置和日志默认存储在 ~/.aynur,可通过 AYNUR_HOME 自定义。启动时会捕获当前终端环境变量,--env-file 可覆盖,但 reload 默认沿用旧环境,需 --update-env 刷新。
崩溃处理机制
Aynur 在程序意外退出时自动重启,但若频繁崩溃会标记异常状态,避免无限重启。停止时先发 SIGTERM 优雅终止,超时后强制 SIGKILL。理解这一机制有助于合理设置程序退出码和信号处理,避免误判。
Q&A
Aynur 是什么工具?它主要用来做什么?
Aynur 是一款轻量级、类 PM2 的进程守护工具,专为本地 Rust 二进制程序设计。它通过后台守护进程持续维持程序运行,支持启动、停止、重启、重载、列表查看和日志查看等命令。
如何安装 Aynur?
使用 cargo 安装,命令为:cargo install aynur。
如何使用 Aynur 启动一个 Rust 程序并自定义名称?
使用命令:aynur start ./target/release/gateway -n api,其中 -n 参数指定应用名称,默认以二进制文件名作为应用名。
Aynur 的配置和日志文件存放在哪里?
默认存放在 ~/.aynur 目录下,其中 apps/ 存放应用配置,logs/ 存放日志文件,daemon.pid 是守护进程 PID 文件,daemon.sock 是本地通信套接字。可通过环境变量 AYNUR_HOME 自定义存储目录。
Aynur 如何处理程序崩溃和停止?
程序意外退出时会自动重启;若短时间内频繁崩溃,会标记为异常状态,避免无限重启。执行 stop 时,先发送 SIGTERM 优雅终止信号,等待短暂时间后若未退出,则强制发送 SIGKILL 杀死进程。
Aynur 支持哪些平台?有哪些功能是不支持的?
Aynur 仅支持 Linux 和 macOS 系统。不支持 PM2 配套生态配置文件、多实例集群模式、开机自启集成、远程管理、可视化面板以及 Windows 平台。
如何查看和清空某个程序的日志?
使用 aynur logs <应用名> 实时查看日志,按 Ctrl+C 终止输出;使用 aynur flush <应用名> 清空指定程序的日志文件。
Aynur 如何管理环境变量?
启动程序时,Aynur 会捕获当前终端全部环境变量;若指定 --env-file,环境文件内的变量会覆盖原有环境变量。重载时默认沿用已保存的环境变量,使用 --update-env 可重新读取当前终端环境与配置文件并刷新变量。