mirror of https://github.com/pulumi/pulumi.git
b67c72149c
Adds a new **currently unused** function TerminateProcessGroup that terminates all processes in a group gracefully. It does so by first sending the process a SIGINT on Unix systems, and CTRL_BREAK_EVENT on Windows, and waiting a specified duration for the process to exit. The choice of signals was very deliberate and is documented in the comments for TerminateProcessGroup. If the process does not exit in the given duration, it and its child processes are forcibly terminated with SIGKILL or equivalent. Testing: The core behaviors are tested against Python, Go, and Node. The corner cases of signal handling are tested against rogue Go processes. The changes were experimented with in #13760. Refs #9780 |
||
---|---|---|
.. | ||
frozen.go | ||
frozen.js | ||
frozen.py | ||
frozen_with_child.go | ||
graceful.go | ||
graceful.js | ||
graceful.py | ||
graceful_with_child.go | ||
unhandled.go | ||
unhandled.js | ||
unhandled.py |