Cherry-pick #19567 to 7.x: [Elastic Agent] Properly stop subprocess when receiving SIGTERM #19683
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Cherry-pick of PR #19567 to 7.x branch. Original message:
What does this PR do?
Fixes issue where if Elastic Agent is stopped the spawned subprocesses are not stopped. This ensures that on
SIGTERM
to Elastic Agent that it properly shutdowns the subprocesses, by sending theExpectedState_Stopping
over GRPC and waiting for the process to stop (kill it after 30 seconds, if it doesn't stop).On Linux in the case that Elastic Agent is
kill -9
all its spawned subprocesses will also bekill -9
, without having to worry that any children processes are still handing around. Something that Windows or Mac does not support.Why is it important?
So subprocess are not orphaned when Elastic Agent is stopped or killed.
Checklist
[] I have made corresponding changes to the documentation[ ] I have made corresponding change to the default configuration files[ ] I have added tests that prove my fix is effective or that my feature worksCHANGELOG.next.asciidoc
orCHANGELOG-developer.next.asciidoc
.Related issues
Logs