Tini is a lightweight process management tool designed to act as the entrypoint for OCI compliant containers. It functions as a minimal init process that manages the lifecycle of a primary child process, preventing the root process from ignoring critical termination signals.
The project focuses on signal proxying and zombie process reaping. It forwards system signals from the container runtime to child processes and process groups to ensure graceful shutdowns. Additionally, it automatically collects terminated child processes to prevent the process table from filling with defunct entries.
Tini also provides process supervision and signal coordination, including the ability to trigger shutdowns when a parent process terminates. It includes a mechanism to translate specific non-zero child process return codes into success codes for external monitoring and orchestration systems.