The manifest described its own fields by naming the thing they were modelled on -- "in launchd terms this is a RunAtLoad + KeepAlive daemon", and ThrottleInterval attributed to launchd by name. The design debt is real and recorded in docs; a file shipped in /etc is not the place to keep citing another system's trademarks. What the fields do is unchanged, and so is every value. The comment that survives says what the interval guards against, which is the part a reader of this file actually needs. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
20 lines
687 B
Text
20 lines
687 B
Text
# The interactive shell on the system console.
|
|
|
|
Label = os.schos.console-shell
|
|
Program = /bin/sh
|
|
Args = sh
|
|
RunAtLoad = yes
|
|
KeepAlive = yes
|
|
|
|
# This job reads the console, so it has to own it: schinit puts every job in
|
|
# its own session, and a session with no controlling terminal is not delivered
|
|
# terminal input at all. Without this the shell echoes and executes nothing.
|
|
ControllingTerminal = yes
|
|
|
|
StandardIn = /dev/console
|
|
StandardOut = /dev/console
|
|
StandardError = /dev/console
|
|
|
|
# Seconds between respawns. Guards against a shell that dies instantly
|
|
# defaults to 10. One is enough for a shell someone just exited on purpose.
|
|
ThrottleInterval = 1
|