(signal = kKillSignal, force = false)
| 123 | } |
| 124 | |
| 125 | async function killAndWait(signal = kKillSignal, force = false) { |
| 126 | const processToKill = child; |
| 127 | const onExit = childExitPromise; |
| 128 | if (!processToKill) { |
| 129 | return; |
| 130 | } |
| 131 | if ((processToKill.killed || exited) && !force) { |
| 132 | return; |
| 133 | } |
| 134 | stopping = true; |
| 135 | if (!exited && processToKill.exitCode === null && processToKill.signalCode === null) { |
| 136 | processToKill.kill(signal); |
| 137 | } |
| 138 | const exitCode = await onExit; |
| 139 | return exitCode; |
| 140 | } |
| 141 | |
| 142 | function reportGracefulTermination() { |
| 143 | // Log if process takes more than 500ms to stop. |
no test coverage detected
searching dependent graphs…