Repository navigation
1.0-28 — Restart a service without starting a process
A service is restarted without starting a process
Asking a supervisor to reload a service used to run the svc program. A host watching for unexpected launches
inside a container reported every deploy — both the program itself and jspawnhelper, the helper the JVM starts
in order to launch anything at all.
The command is now written straight to the supervisor's control channel: the named pipe at
<service>/supervise/control, one letter per command (h for a reload, t for a termination). That is exactly
what svc does, and the supervisor still does the signalling. Nothing is executed, so those reports stop.
A running supervisor holds the reading end of that pipe open, so the write happens at once. Nothing reading it
means the supervisor is not running: the step says so rather than waiting, and the command is not delivered
later when the supervisor comes back — a command arriving at an arbitrary later moment would be worse than none.
Also in this release
signalnow takestermas well ashup.- A supervisor with no control channel is still supported: set
serviceControl: programin the agent policy and
the step runsserviceControlBinarywith a fixed argument list, as before. - The agent no longer needs the control program mounted into its container.
Upgrading
Nothing to change. An agent policy that still names serviceControlBinary keeps working; the setting is simply
unused unless serviceControl: program is set. Leaving the control program mounted for a release or two keeps
that fallback available.
See Deploy steps for the step and the policy, and the
changelog for the releases before this one.