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 |
|
||||
| -------------- | -------------- | -------- |
|
||||
| 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 |
|
||||
|
||||
12
lib/users.js
12
lib/users.js
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user