HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: /var/www/javago-api-updates/node_modules/pstree.remy/lib/index.js
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;