In some scenario, the event "Send interrupt signal to process" won't kill the running process.
I would argue that this is more the point: if DurableTaskStep.Execution.stop does not actually result in termination after some reasonable amount of time, perhaps SIGKILL should be sent and the step exit.
Additionally/alternately, perhaps timeout should give its body a grace period to exit cleanly, after which running steps and/or CPS-transformed Groovy code and/or native code should be terminated, à la WorkflowRun.doTerm. Cf. JENKINS-32986.