123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- 'use strict';
- var os = require('os');
- var platformToMethod = {
- darwin: 'ps',
- sunos: 'ps',
- freebsd: 'ps',
- netbsd: 'ps',
- win: 'wmic',
- linux: 'ps',
- aix: 'ps',
- };
- var methodToRequireFn = {
- ps: () => require("./ps"),
- wmic: () => require("./wmic")
- };
- var platform = os.platform();
- if (platform.startsWith('win')) {
- platform = 'win';
- }
- var method = platformToMethod[platform];
- /**
- * Gets the list of all the pids of the system.
- * @param {Function} callback Called when the list is ready.
- */
- function get(callback) {
- if (method === undefined) {
- callback(
- new Error(
- os.platform() +
- ' is not supported yet, please open an issue (https://github.com/simonepri/pidtree)'
- )
- );
- }
- var list = methodToRequireFn[method]();
- list(callback);
- }
- module.exports = get;
|