Crates.io | sinit |
lib.rs | sinit |
version | 0.1.2 |
source | src |
created_at | 2017-04-04 01:01:11.123635 |
updated_at | 2017-04-04 01:44:07.828891 |
description | A simple init system for use in containers. |
homepage | https://bitbucket.org/samwhited/sinit |
repository | https://bitbucket.org/samwhited/sinit.git |
max_upload_size | |
id | 9551 |
size | 9,372 |
Simple Init is a simple init system written in Rust that proxies syscalls to its child process(es).
It was mostly written as a learning exercise, but may actually be useful in the
real world too… because Linux treats PID1 as a special snowflake, when you run
your applications in a Docker container (as PID1) it's possible that if they
ever call fork(3)
and then the parent process dies you'll end up with a zombie
container (because there's nothing to manage the child processes anymore).
Instead, you could use sinit
as the entry point for your container and then if
the child process dies sinit will clean up for you.