libpid0 is a tiny Linux PID 1 helper for C programs that need to run as init inside a FROM scratch container or as PID 1 on a bare VM.
If the current process is not PID 1, pid0_run() just calls your submain with argc/argv and returns its exit code.
If the current process is PID 1, pid0_run():
stdin,
stdout, and stderr when those file descriptors are TTYs#include <pid0/pid0.h>
static int submain(int argc, char **argv) {
(void)argc;
(void)argv;
return 0;
}
int main(int argc, char **argv) {
return pid0_run(submain, argc, argv);
}
You find the source code at https://github.com/sa6mwa/libpid0.
| Name | Type |
|---|---|
| .. | parent |
| libpid0-0.1.0-CHECKSUMS | text/plain; charset=utf-8 |
| libpid0-0.1.0-linux-aarch64-gnu-dev.tar.gz | application/gzip |
| libpid0-0.1.0-linux-aarch64-gnu.tar.gz | application/gzip |
| libpid0-0.1.0-linux-aarch64-musl-dev.tar.gz | application/gzip |
| libpid0-0.1.0-linux-aarch64-musl.tar.gz | application/gzip |
| libpid0-0.1.0-linux-armhf-gnu-dev.tar.gz | application/gzip |
| libpid0-0.1.0-linux-armhf-gnu.tar.gz | application/gzip |
| libpid0-0.1.0-linux-armhf-musl-dev.tar.gz | application/gzip |
| libpid0-0.1.0-linux-armhf-musl.tar.gz | application/gzip |
| libpid0-0.1.0-linux-x86_64-gnu-dev.tar.gz | application/gzip |
| libpid0-0.1.0-linux-x86_64-gnu.tar.gz | application/gzip |
| libpid0-0.1.0-linux-x86_64-musl-dev.tar.gz | application/gzip |
| libpid0-0.1.0-linux-x86_64-musl.tar.gz | application/gzip |