users() optimized results if lack of permissions
This commit is contained in:
parent
99adfc7f2c
commit
b06bbd643c
@ -100,6 +100,7 @@ Other changes
|
|||||||
|
|
||||||
| Version | Date | Comment |
|
| Version | Date | Comment |
|
||||||
| -------------- | -------------- | -------- |
|
| -------------- | -------------- | -------- |
|
||||||
|
| 3.42.2 | 2018-07-03 | `users()` optimized results if lack of permissions |
|
||||||
| 3.42.1 | 2018-07-03 | `versions()` bugfix git version macOS |
|
| 3.42.1 | 2018-07-03 | `versions()` bugfix git version macOS |
|
||||||
| 3.42.0 | 2018-06-01 | `processes()` added parent process PID |
|
| 3.42.0 | 2018-06-01 | `processes()` added parent process PID |
|
||||||
| 3.41.4 | 2018-05-28 | windows exec WMIC in try catch |
|
| 3.41.4 | 2018-05-28 | windows exec WMIC in try catch |
|
||||||
|
|||||||
12
lib/users.js
12
lib/users.js
@ -31,7 +31,7 @@ const opts = {
|
|||||||
// --------------------------
|
// --------------------------
|
||||||
// array of users online = sessions
|
// array of users online = sessions
|
||||||
|
|
||||||
function parseUsersLinux(lines) {
|
function parseUsersLinux(lines, phase) {
|
||||||
let result = [];
|
let result = [];
|
||||||
let result_who = [];
|
let result_who = [];
|
||||||
let result_w = {};
|
let result_w = {};
|
||||||
@ -88,7 +88,11 @@ function parseUsersLinux(lines) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return result;
|
if (result.length === 0 && phase === 2) {
|
||||||
|
return result_who;
|
||||||
|
} else {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function parseUsersDarwin(lines) {
|
function parseUsersDarwin(lines) {
|
||||||
@ -189,13 +193,13 @@ function users(callback) {
|
|||||||
if (!error) {
|
if (!error) {
|
||||||
// lines / split
|
// lines / split
|
||||||
let lines = stdout.toString().split('\n');
|
let lines = stdout.toString().split('\n');
|
||||||
result = parseUsersLinux(lines);
|
result = parseUsersLinux(lines, 1);
|
||||||
if (result.length === 0) {
|
if (result.length === 0) {
|
||||||
exec('who; echo "---"; w | tail -n +2', function (error, stdout) {
|
exec('who; echo "---"; w | tail -n +2', function (error, stdout) {
|
||||||
if (!error) {
|
if (!error) {
|
||||||
// lines / split
|
// lines / split
|
||||||
lines = stdout.toString().split('\n');
|
lines = stdout.toString().split('\n');
|
||||||
result = parseUsersLinux(lines);
|
result = parseUsersLinux(lines, 2);
|
||||||
}
|
}
|
||||||
if (callback) { callback(result); }
|
if (callback) { callback(result); }
|
||||||
resolve(result);
|
resolve(result);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user