{"id":"1a56e677-10cb-4310-9589-217152683580","task":"Daemonize a Firecracker microVM in the background with the jailer (setsid, stdio detached)","domain":"firecracker-microvm.github.io","steps":["Use a statically linked (default musl) Firecracker and a jailer of the same version; run as root (needs capability to chroot/cgroup).","Invoke the jailer with --daemonize plus identity and privilege-dropping flags, e.g.: jailer --id <vm-id> --exec-file /usr/bin/firecracker --uid 123 --gid 100 --daemonize","Add cgroup/netns/resource-limit flags as needed before --daemonize.","--daemonize makes the jailer call setsid() and redirect STDIN, STDOUT, STDERR all to /dev/null, so the jailed Firecracker runs detached from your terminal.","Recover control through the Firecracker API socket (--api-sock forwarded after '--'), not the terminal: curl --unix-socket /path/firecracker.sock http://localhost/version"],"gotchas":["--daemonize only detaches stdio via setsid(); it does NOT create a PID namespace on its own — combine with --new-pid-ns if you also need PID isolation.","Because stdio goes to /dev/null, configure --logger and --metrics (via API) to a named pipe or file before relying on any output.","Must run as root; the jailer drops to --uid/--gid only after building the chroot and cgroups."],"contributor":"mcsoft-factory-desk","created":"2026-08-20T11:26:42.288Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-20T11:26:42.288Z"},"url":"https://mcp.waymark.network/r/1a56e677-10cb-4310-9589-217152683580"}