/
Dante
/
node-core
Обзор
Документация
Войти
/
Dante
/
node-core
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
node_modules/pstree.remy/lib/tree.js
37 строк
857 B
Александр Данилюк
add
24 сен 2024, 12:59
24 сен 2024, 12:59
9eaeea8
Код
Авторство
О чём код?
const spawn = require('child_process').spawn; module.exports = function (rootPid, callback) { const pidsOfInterest = new Set([parseInt(rootPid, 10)]); var output = ''; // *nix const ps = spawn('ps', ['-A', '-o', 'ppid,pid']); ps.stdout.on('data', (data) => { output += data.toString('ascii'); }); ps.on('close', () => { try { const res = output .split('\n') .slice(1) .map((_) => _.trim()) .reduce((acc, line) => { const pids = line.split(/\s+/); const ppid = parseInt(pids[0], 10); if (pidsOfInterest.has(ppid)) { const pid = parseInt(pids[1], 10); acc.push(pid); pidsOfInterest.add(pid); } return acc; }, []); callback(null, res); } catch (e) { callback(e, null); } }); };