When a ElectricFlow step is aborted or force aborted, what mechanism is being used in the OS?
For force abort, the server:
- sends an abort command to the agent
- marks the step aborted (without waiting for the agent to finish aborting the step)
After the agent receives the message, it:
- sends a SIGTERM signal to ecwrapper
- waits for ecwrapper to complete
- ecwrapper in turn sends a SIGTERM to the actual running command even though this is a force abort.
- If the command does not complete in 2 minutes, ecwrapper sends a kill -9 to all child processes associated with this step.
In other words, regardless of regular abort or force abort, the agent waits two minutes before kill -9'ing the step.