Cleanup all zombie processes
Prevents process table exhaustion
This commit is contained in:
parent
37e83c9813
commit
0ab66f4f5f
|
@ -336,14 +336,20 @@ class Job {
|
||||||
const [_, ruid, euid, suid, fuid] = uid_line.split(/\s+/);
|
const [_, ruid, euid, suid, fuid] = uid_line.split(/\s+/);
|
||||||
|
|
||||||
const [_1, state, user_friendly] = state_line.split(/\s+/);
|
const [_1, state, user_friendly] = state_line.split(/\s+/);
|
||||||
|
|
||||||
|
const proc_id_int = parse_int(proc_id);
|
||||||
|
|
||||||
if (state == 'Z')
|
if (state == 'Z'){
|
||||||
// Zombie process, just needs to be waited
|
// Zombie process, just needs to be waited, regardless of the user id
|
||||||
|
if(!to_wait.includes(proc_id_int))
|
||||||
|
to_wait.push(proc_id_int);
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
// We should kill in all other state (Sleep, Stopped & Running)
|
// We should kill in all other state (Sleep, Stopped & Running)
|
||||||
|
|
||||||
if (ruid == this.uid || euid == this.uid)
|
if (ruid == this.uid || euid == this.uid)
|
||||||
return parse_int(proc_id);
|
return proc_id_int;
|
||||||
} catch {
|
} catch {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue