2 个版本
0.1.1 | 2023 年 10 月 4 日 |
---|---|
0.1.0 | 2023 年 10 月 3 日 |
#2256 在 命令行工具
2,703 每月下载量
用于 3 个 crate (2 个直接使用)
12KB
160 行
pid1-rs
pid1 处理库,用于正确处理 PID1 进程的信号和僵尸回收。
该仓库包含两个包
pid1 库使用方法
此库用于简化容器化环境中的 Rust 部署。您可以直接使用此 crate,而不是在容器中使用像 Haskell 的 pid1 或 tini 这样的二进制文件。
您必须确保 launch
方法是您的 main
函数中的第一条语句
use std::time::Duration;
use pid1::Pid1Settings;
fn main() {
Pid1Settings::new()
.enable_log(true)
.timeout(Duration::from_secs(2))
.launch()
.expect("Launch failed");
println!("Hello world");
// Rest of the logic...
}
您还可以在此处查看各种示例用法 此处。 此函数仅适用于 Unix 系统,上述代码在 Windows 上为无操作。
使用 pid1 二进制文件
您可以从 发布版 下载 pid1
二进制文件,并在您的容器中直接使用它。示例
FROM alpine:3.14.2
ADD https://github.com/fpco/pid1-rs/releases/download/v0.1.0/pid1-x86_64-unknown-linux-musl /usr/bin/pid1
RUN chmod +x /usr/bin/pid1
ENTRYPOINT [ "pid1" ]
开发
测试步骤在 Development.md 中进行了记录。我们仅在 CI 中集成了其中的一部分。
依赖关系
~2.5MB
~54K SLoC