.
This commit is contained in:
		
							
								
								
									
										37
									
								
								qwen/nodejs/node_modules/pstree.remy/lib/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								qwen/nodejs/node_modules/pstree.remy/lib/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
			
		||||
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;
 | 
			
		||||
		Reference in New Issue
	
	Block a user