|
|
|
@ -4,7 +4,9 @@ Tini - A tiny but valid `init` for containers |
|
|
|
|
Tini is the simplest `init` you could think of. |
|
|
|
|
|
|
|
|
|
All Tini does is spawn a single child (Tini is meant to be run in a container), |
|
|
|
|
and wait for it to exit all the while reaping zombies. |
|
|
|
|
and wait for it to exit all the while reaping zombies and performing |
|
|
|
|
signal forwarding. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Using Tini |
|
|
|
|
---------- |
|
|
|
@ -19,3 +21,28 @@ Once you've added Tini, use it like so: |
|
|
|
|
|
|
|
|
|
Note that you *can* skip the `--` above if your program only accepts |
|
|
|
|
positional arguments, but it's best to get used to using it. |
|
|
|
|
|
|
|
|
|
If you try to use positional arguments with Tini without using `--`, you'll |
|
|
|
|
get an error similar to: |
|
|
|
|
|
|
|
|
|
./tini: invalid option -- 'c' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Understanding Tini |
|
|
|
|
------------------ |
|
|
|
|
|
|
|
|
|
After spawning your process, Tini will wait for signals and forward those |
|
|
|
|
to the child process (except for `SIGCHLD` and `SIGKILL`, of course). |
|
|
|
|
|
|
|
|
|
Besides, Tini will reap potential zombie processes every second. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Debugging |
|
|
|
|
--------- |
|
|
|
|
|
|
|
|
|
If something isn't just like you expect, consider increasing the verbosity |
|
|
|
|
level (up to 3): |
|
|
|
|
|
|
|
|
|
tini -v -- bash -c 'exit 1' |
|
|
|
|
tini -vv -- true |
|
|
|
|
tini -vvv -- pwd |
|
|
|
|