3 个版本
使用旧的 Rust 2015
0.1.2 | 2018年1月26日 |
---|---|
0.1.1 | 2018年1月25日 |
0.1.0 | 2018年1月22日 |
在 #daemon-process 中排名 8
17KB
347 行
点火器
用Rust编写的简单进程管理器。
正在积极开发中
描述
点火器是为了乐趣和利润而编写的,其背后的想法是在开发需要始终开启依赖项的项目时使用一个简单的进程管理器。
所以想象一下,你正在开发一个前端应用程序,你需要API在你的机器上处于活动状态,可能还需要其他依赖项(例如,数据库),点火器读取一个 .igniterc
文件并启动配置文件中描述的所有进程。
在野外有许多其他进程管理器,其中大多数都使用守护进程来监控和管理所有子进程。点火器不提供全局守护进程,而是为每个启动的进程运行一个监控进程,因此进程到监控之间有一个一对一的关系。
点火器处于早期阶段,正在积极开发中,因此目前还没有功能完整,其代码也还没有接近被认为是好的或安全的。可以在下一段中找到未来开发想法的列表。
欢迎提出建议和/或请求!
支持的操作系统
由于其依赖项,支持的操作系统是那些由 nix
支持的操作系统(查看这里),这并不意味着所有版本都经过测试。
目前不支持 Windows。
安装
使用 cargo
cargo install igniter
使用方法
在当前工作目录中有一个现有的 .igniterc
文件时,从终端运行 igniter
,点火器将启动配置文件中定义的所有进程。
.igniterc
在项目的根目录中创建一个 .igniterc
,支持 TOML
语法,文件。始终需要一个 .igniterc
文件来启动监控进程。
[[process]]
name = "process-1" # Required, the name of the process. Shown in list.
cmd = "process" # The actual command to launch, must be the command without arguments
args = [["-arg", "value"], ["--arg2"]] # Optional, must be an array of array
max_retries = 10 # Optional, defaults to 0
上面的块可以在同一文件中重复任何需要的时间来描述其他进程,只需注意更改名称即可。
Cli
igniter 0.1.0
Paolo Marino <paolomarinos@gmail.com>
A simple process manager
USAGE:
igniter [SUBCOMMAND]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
help Prints this message or the help of the given subcommand(s)
list list active processes
monitor [INTERNAL] Monitors the provided command data as JSON
stop Stops an already running process given its name
待办事项
[x] 失败时进程重启
[x] 重构
[] 环境变量
[] 日志管理
[] 上下文感知(工作空间)
变更日志
v0.1.0
* First version
v0.1.1
* Code refactor
* minor bug fixes
v0.1.2
* Filters processes by their status on the system
依赖项
~6–14MB
~160K SLoC