cleanup all runner user processes

This commit is contained in:
Thomas Hobson 2021-04-26 10:35:34 +12:00
parent 3b0f2a0013
commit 72bda367e0
No known key found for this signature in database
GPG key ID: 9F1FD9D87950DB6F
3 changed files with 30 additions and 45 deletions

View file

@ -5,6 +5,7 @@ const path = require('path');
const config = require('./config');
const globals = require('./globals');
const fs = require('fs/promises');
const ps_list = require('ps-list');
const job_states = {
READY: Symbol('Ready to be primed'),
@ -183,6 +184,17 @@ class Job {
async cleanup() {
logger.info(`Cleaning up job uuid=${this.uuid}`);
await fs.rm(this.dir, { recursive: true, force: true });
let processes = await ps_list();
processes.filter(proc => proc.uid == this.uid);
await Promise.all(
processes.map(
proc => process.kill(proc.pid, 'SIGKILL')
)
);
}
}