Server : Apache System : Linux 145.162.205.92.host.secureserver.net 5.14.0-611.45.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Apr 1 05:56:53 EDT 2026 x86_64 User : tradze ( 1001) PHP Version : 8.1.34 Disable Function : NONE Directory : /home/tradze/public_html/node-socket/node_modules/pstree.remy/lib/ |
const exec = require('child_process').exec;
const tree = require('./tree');
const utils = require('./utils');
var hasPS = true;
// discover if the OS has `ps`, and therefore can use psTree
exec('ps', (error) => {
module.exports.hasPS = hasPS = !error;
});
module.exports = function main(pid, callback) {
if (typeof pid === 'number') {
pid = pid.toString();
}
if (hasPS && !process.env.NO_PS) {
return tree(pid, callback);
}
utils
.getStat()
.then(utils.tree)
.then((tree) => utils.pidsForTree(tree, pid))
.then((res) =>
callback(
null,
res.map((p) => p.PID)
)
)
.catch((error) => callback(error));
};
if (!module.parent) {
module.exports(process.argv[2], (e, pids) => console.log(pids));
}
module.exports.hasPS = hasPS;