- StrictMode solo en DEBUG mode - ExecutorService con shutdown apropiado - DNSSetter NetworkCallback unregister - DiffUtil en ChannelAdapter y EventAdapter - minifyEnabled=true y shrinkResources=true para release - Validación en constructores (StreamChannel) - Strings externalizadas - ProGuard rules completas - Testing dependencies agregadas - Removed Firebase (uso personal) - JavaDoc documentación agregada - Android SDK configurado localmente Compilado exitosamente: StreamPlayer v9.4.2 debug APK (11MB)
38 lines
800 B
JavaScript
38 lines
800 B
JavaScript
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;
|