in lib/index.ts [36:51]
export function buildProcessTree(rootPid: number, processList: IProcessInfo[], maxDepth: number): IProcessTreeNode {
const rootIndex = processList.findIndex(v => v.pid === rootPid);
if (rootIndex === -1) {
return undefined;
}
const rootProcess = processList[rootIndex];
const childIndexes = processList.filter(v => v.ppid === rootPid);
return {
pid: rootProcess.pid,
name: rootProcess.name,
memory: rootProcess.memory,
commandLine: rootProcess.commandLine,
children: maxDepth === 0 ? [] : childIndexes.map(c => buildProcessTree(c.pid, processList, maxDepth - 1))
};
}