3 个版本

使用旧的 Rust 2015

0.1.2 2018年1月26日
0.1.1 2018年1月25日
0.1.0 2018年1月22日

#daemon-process 中排名 8

MIT 许可证

17KB
347

点火器

用Rust编写的简单进程管理器。

Build Status crates.io

正在积极开发中

描述

点火器是为了乐趣和利润而编写的,其背后的想法是在开发需要始终开启依赖项的项目时使用一个简单的进程管理器。
所以想象一下,你正在开发一个前端应用程序,你需要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