kukepause

command
v0.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 14, 2026 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

kukepause is the minimal PID 1 for every kukeon cell's root (pause) container, replacing the previous `sleep infinity` from busybox (issue #931).

`sleep` makes a poor PID 1 for two reasons: it installs no SIGTERM handler, so the kernel's default-ignore-fatal-signals rule for PID 1 means a SIGTERM sent during cell deletion is dropped and `StopContainer` burns its full 10-second graceful-shutdown timeout before escalating to SIGKILL; and it does not reap orphaned children, so any process re-parented to the cell's PID 1 lingers as a zombie.

kukepause fixes both: it installs SIGTERM/SIGINT handlers that exit 0 (so cell teardown completes in well under a second) and a SIGCHLD reaper that harvests every re-parented child via wait4(2), then blocks on a Go select over those signal channels so it consumes no CPU while idle.

It is built CGO_ENABLED=0 (no libc dependency) and bind-mounted into each root container at /.kukeon/bin/kukepause; it cannot be staged from the kukeond image the way kuketty is, because root containers — including kukeond's own — must exist before kukeond is running, so `kuke init` pre-stages it on the host instead.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL