Environment: KeyOS v1.4.0 (eb2c2edb3), hosted simulator built from source with SLINT_BACKEND=winit-software cargo xtask build --hosted, macOS 26 (Darwin 25.6) arm64.
What happens: running cargo xtask run --hosted with stdin closed (from a script, nohup, or a CI job) shuts the whole simulator down after about 5 s:
system service PID 26 (simulator-cli) exited -- shutting down
apps/simulator-cli reads stdin and exits on EOF, and the hosted kernel lists it as a system service, so its exit tears down every other process.
Expected: a closed stdin should leave the simulator running (the CLI is a convenience, not a dependency of the system).
Workaround: hold stdin open, e.g. tail -f /dev/null | cargo xtask run --hosted.
Suggestion: have simulator-cli idle on EOF instead of exiting, or drop it from the system-service set so its exit is not fatal.
Environment: KeyOS v1.4.0 (
eb2c2edb3), hosted simulator built from source withSLINT_BACKEND=winit-software cargo xtask build --hosted, macOS 26 (Darwin 25.6) arm64.What happens: running
cargo xtask run --hostedwith stdin closed (from a script,nohup, or a CI job) shuts the whole simulator down after about 5 s:apps/simulator-clireads stdin and exits on EOF, and the hosted kernel lists it as a system service, so its exit tears down every other process.Expected: a closed stdin should leave the simulator running (the CLI is a convenience, not a dependency of the system).
Workaround: hold stdin open, e.g.
tail -f /dev/null | cargo xtask run --hosted.Suggestion: have
simulator-cliidle on EOF instead of exiting, or drop it from the system-service set so its exit is not fatal.