(pid: number, signal?: string)
| 764 | } |
| 765 | |
| 766 | export async function nukeProcessTree(pid: number, signal?: string) { |
| 767 | if (process.platform === 'win32') { |
| 768 | spawnSync('taskkill', ['/pid', pid.toString(), '/T', '/F'], { |
| 769 | stdio: 'inherit', |
| 770 | }); |
| 771 | return; |
| 772 | } |
| 773 | |
| 774 | const pids = await ps(pid, { |
| 775 | [pid]: [], |
| 776 | }); |
| 777 | |
| 778 | console.log(`Nuking pids: ${Object.keys(pids).join(', ')}`); |
| 779 | await Promise.all(Object.keys(pids).map(pid => nukePID(Number(pid), signal))); |
| 780 | } |
| 781 | |
| 782 | beforeEach(() => { |
| 783 | port = ++port; |