processes() fix truncated command (windows)

This commit is contained in:
Sebastian Hildebrandt 2022-10-23 14:04:50 +02:00
parent 966d1a1d3c
commit 416867a51f
2 changed files with 13 additions and 29 deletions

View File

@ -221,7 +221,6 @@ function osInfo(callback) {
if (_linux) {
exec('cat /etc/*-release; cat /usr/lib/os-release; cat /etc/openwrt_release', function (error, stdout) {
//if (!error) {
/**
* @namespace
* @property {string} DISTRIB_ID
@ -259,7 +258,6 @@ function osInfo(callback) {
resolve(result);
});
});
//}
});
}
if (_freebsd || _openbsd || _netbsd) {

View File

@ -135,7 +135,7 @@ function services(srv, callback) {
const s = util.sanitizeShellString(srv);
for (let i = 0; i <= util.mathMin(s.length, 2000); i++) {
if (!(s[i] === undefined)) {
if (s[i] !== undefined) {
srvString = srvString + s[i];
}
}
@ -171,7 +171,6 @@ function services(srv, callback) {
const parts = s.split(']');
if (parts.length === 2) {
srvString += (srvString !== '' ? '|' : '') + parts[1].trim();
// allSrv.push({ name: parts[1].trim(), running: parts[0].indexOf('+') > 0 });
}
}
srvs = srvString.split('|');
@ -185,13 +184,11 @@ function services(srv, callback) {
const name = s.trim();
if (name) {
srvString += (srvString !== '' ? '|' : '') + name;
// allSrv.push({ name: name, running: null });
}
}
srvs = srvString.split('|');
}
} catch (f) {
// allSrv = [];
srvString = '';
srvs = [];
}
@ -219,7 +216,6 @@ function services(srv, callback) {
return (e.toLowerCase().indexOf(' ' + srv + ':') !== -1) || (e.toLowerCase().indexOf('/' + srv) !== -1);
});
}
// let singleSrv = allSrv.filter(item => { return item.name === srv; });
const pids = [];
for (const p of ps) {
const pid = p.trim().split(' ')[2];
@ -229,7 +225,6 @@ function services(srv, callback) {
}
result.push({
name: srv,
// running: (allSrv.length && singleSrv.length && singleSrv[0].running !== null ? singleSrv[0].running : ps.length > 0),
running: ps.length > 0,
startmode: '',
pids: pids,
@ -288,10 +283,8 @@ function services(srv, callback) {
// store old values
_services_cpu.all = all;
// _services_cpu.list = list_new;
_services_cpu.list = Object.assign({}, list_new);
_services_cpu.ms = Date.now() - _services_cpu.ms;
// _services_cpu.result = result;
_services_cpu.result = Object.assign({}, result);
if (callback) { callback(result); }
resolve(result);
@ -786,10 +779,8 @@ function processes(callback) {
// store old values
_processes_cpu.all = all;
// _processes_cpu.list = list_new;
_processes_cpu.list = Object.assign({}, list_new);
_processes_cpu.ms = Date.now() - _processes_cpu.ms;
// _processes_cpu.result = result;
_processes_cpu.result = Object.assign({}, result);
if (callback) { callback(result); }
resolve(result);
@ -838,8 +829,6 @@ function processes(callback) {
let list_new = {};
let allcpuu = 0;
let allcpus = 0;
// let allcpuu = _processes_cpu.all_utime;
// let allcpus = _processes_cpu.all_stime;
for (let i = 0; i < processSections.length; i++) {
if (processSections[i].trim() !== '') {
let lines = processSections[i].trim().split('\r\n');
@ -848,14 +837,24 @@ function processes(callback) {
let statusValue = util.getValue(lines, 'ExecutionState', ':');
let name = util.getValue(lines, 'Caption', ':', true);
let commandLine = util.getValue(lines, 'CommandLine', ':', true);
// get additional command line data
let additionalCommand = false;
lines.forEach((line) => {
if (additionalCommand && line.toLowerCase().startsWith(' ')) {
commandLine = commandLine + line.trim();
} else {
additionalCommand = false;
}
if (line.toLowerCase().startsWith('commandline')) {
additionalCommand = true;
}
});
let commandPath = util.getValue(lines, 'ExecutablePath', ':', true);
let utime = parseInt(util.getValue(lines, 'UserModeTime', ':', true), 10);
let stime = parseInt(util.getValue(lines, 'KernelModeTime', ':', true), 10);
let memw = parseInt(util.getValue(lines, 'WorkingSetSize', ':', true), 10);
allcpuu = allcpuu + utime;
allcpus = allcpus + stime;
// allcpuu += utime - (_processes_cpu.list[pid] ? _processes_cpu.list[pid].utime : 0);
// allcpus += stime - (_processes_cpu.list[pid] ? _processes_cpu.list[pid].stime : 0);
result.all++;
if (!statusValue) { result.unknown++; }
if (statusValue === '3') { result.running++; }
@ -916,10 +915,8 @@ function processes(callback) {
_processes_cpu.all = allcpuu + allcpus;
_processes_cpu.all_utime = allcpuu;
_processes_cpu.all_stime = allcpus;
// _processes_cpu.list = list_new;
_processes_cpu.list = Object.assign({}, list_new);
_processes_cpu.ms = Date.now() - _processes_cpu.ms;
// _processes_cpu.result = result;
_processes_cpu.result = Object.assign({}, result);
}
if (callback) {
@ -1009,8 +1006,6 @@ function processLoad(proc, callback) {
let list_new = {};
let allcpuu = 0;
let allcpus = 0;
// let allcpuu = _process_cpu.all_utime;
// let allcpus = _process_cpu.all_stime;
// go through all processes
for (let i = 0; i < processSections.length; i++) {
@ -1023,8 +1018,6 @@ function processLoad(proc, callback) {
let mem = parseInt(util.getValue(lines, 'WorkingSetSize', ':', true), 10);
allcpuu = allcpuu + utime;
allcpus = allcpus + stime;
// allcpuu += utime - (_process_cpu.list[pid] ? _process_cpu.list[pid].utime : 0);
// allcpus += stime - (_process_cpu.list[pid] ? _process_cpu.list[pid].stime : 0);
procStats.push({
pid: pid,
@ -1039,9 +1032,6 @@ function processLoad(proc, callback) {
let pname = '';
let inList = false;
processes.forEach(function (proc) {
// console.log(proc)
// console.log(item)
// inList = inList || item.name.toLowerCase() === proc.toLowerCase();
if (name.toLowerCase().indexOf(proc.toLowerCase()) >= 0 && !inList) {
inList = true;
pname = proc;
@ -1072,7 +1062,6 @@ function processLoad(proc, callback) {
// add missing processes
if (processesString !== '*') {
let processesMissing = processes.filter(function (name) {
// return procStats.filter(function(item) { return item.name.toLowerCase() === name }).length === 0;
return procStats.filter(function (item) { return item.name.toLowerCase().indexOf(name) >= 0; }).length === 0;
});
@ -1111,7 +1100,6 @@ function processLoad(proc, callback) {
_process_cpu.all = allcpuu + allcpus;
_process_cpu.all_utime = allcpuu;
_process_cpu.all_stime = allcpus;
// _process_cpu.list = list_new;
_process_cpu.list = Object.assign({}, list_new);
_process_cpu.ms = Date.now() - _process_cpu.ms;
_process_cpu.result = JSON.parse(JSON.stringify(result));
@ -1159,8 +1147,6 @@ function processLoad(proc, callback) {
let inList = false;
let name = '';
for (let j = 0; j < result.length; j++) {
// if (result[j].proc.toLowerCase() === item.name.toLowerCase()) {
// if (result[j].proc.toLowerCase().indexOf(item.name.toLowerCase()) >= 0) {
if (item.name.toLowerCase().indexOf(result[j].proc.toLowerCase()) >= 0) {
listPos = j;
}