users() optimized results if lack of permissions

This commit is contained in:
Sebastian Hildebrandt 2018-07-03 23:17:47 +02:00
parent 99adfc7f2c
commit b06bbd643c
2 changed files with 9 additions and 4 deletions

View File

@ -100,6 +100,7 @@ Other changes
| 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.0 | 2018-06-01 | `processes()` added parent process PID |
| 3.41.4 | 2018-05-28 | windows exec WMIC in try catch |

View File

@ -31,7 +31,7 @@ const opts = {
// --------------------------
// array of users online = sessions
function parseUsersLinux(lines) {
function parseUsersLinux(lines, phase) {
let result = [];
let result_who = [];
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) {
@ -189,13 +193,13 @@ function users(callback) {
if (!error) {
// lines / split
let lines = stdout.toString().split('\n');
result = parseUsersLinux(lines);
result = parseUsersLinux(lines, 1);
if (result.length === 0) {
exec('who; echo "---"; w | tail -n +2', function (error, stdout) {
if (!error) {
// lines / split
lines = stdout.toString().split('\n');
result = parseUsersLinux(lines);
result = parseUsersLinux(lines, 2);
}
if (callback) { callback(result); }
resolve(result);