services() added possibility to specify ALL services (*) for win
This commit is contained in:
parent
68ba1ab306
commit
88894fb8cc
@ -100,6 +100,7 @@ Other changes
|
||||
|
||||
| Version | Date | Comment |
|
||||
| -------------- | -------------- | -------- |
|
||||
| 3.50.1 | 2018-11-23 | `services()` added possibility to specify ALL services "*" for win |
|
||||
| 3.50.0 | 2018-11-23 | `services()` added possibility to specify ALL services "*" for linux |
|
||||
| 3.49.4 | 2018-11-21 | `battery()` timeremaining optimization (linux) thanks to Jorai Rijsdijk |
|
||||
| 3.49.3 | 2018-11-20 | `memLayout()` optimized parsing (win) |
|
||||
|
||||
@ -64,7 +64,7 @@ async function cpu() {
|
||||
|
||||
(last 7 major and minor version releases)
|
||||
|
||||
- Version 3.50.0: `services()` added possibility to specify ALL services "*" for linux
|
||||
- Version 3.50.0: `services()` added possibility to specify ALL services "*" for linux/win
|
||||
- Version 3.49.0: `uuid()` added - os specific uuid (per installation)
|
||||
- Version 3.48.0: `osInfo()` added build, serial (Windows/macOS)
|
||||
- Version 3.47.0: `version()` added docker, postfix
|
||||
@ -381,6 +381,7 @@ I also created a nice little command line tool called [mmon][mmon-github-url] (
|
||||
| si.services('mysql, apache2', cb) | [{...}] | X | X | X | X | | pass comma separated string of services<br>pass "*" for ALL services (linux only) |
|
||||
| | [0].name | X | X | X | X | | name of service |
|
||||
| | [0].running | X | X | X | X | | true / false |
|
||||
| | [0].startmode | | | | X | | manual, automatic, ... |
|
||||
| | [0].pcpu | X | X | X | | | process % CPU |
|
||||
| | [0].pmem | X | X | X | | | process % MEM |
|
||||
|
||||
|
||||
@ -114,12 +114,13 @@ function services(srv, callback) {
|
||||
});
|
||||
let singleSrv = allSrv.filter(item => { return item.name === srv; });
|
||||
data.push({
|
||||
'name': srv,
|
||||
'running': (allSrv.length && singleSrv.length ? singleSrv[0].running : ps.length > 0),
|
||||
'pcpu': parseFloat((ps.reduce(function (pv, cv) {
|
||||
name: srv,
|
||||
running: (allSrv.length && singleSrv.length ? singleSrv[0].running : ps.length > 0),
|
||||
startmode: '',
|
||||
pcpu: parseFloat((ps.reduce(function (pv, cv) {
|
||||
return pv + parseFloat(cv.trim().split(' ')[0]);
|
||||
}, 0)).toFixed(2)),
|
||||
'pmem': parseFloat((ps.reduce(function (pv, cv) {
|
||||
pmem: parseFloat((ps.reduce(function (pv, cv) {
|
||||
return pv + parseFloat(cv.trim().split(' ')[1]);
|
||||
}, 0)).toFixed(2))
|
||||
});
|
||||
@ -135,10 +136,11 @@ function services(srv, callback) {
|
||||
return e.indexOf(srv) !== -1;
|
||||
});
|
||||
data.push({
|
||||
'name': srv,
|
||||
'running': ps.length > 0,
|
||||
'pcpu': 0,
|
||||
'pmem': 0
|
||||
name: srv,
|
||||
running: ps.length > 0,
|
||||
startmode: '',
|
||||
pcpu: 0,
|
||||
pmem: 0
|
||||
});
|
||||
});
|
||||
if (callback) { callback(data); }
|
||||
@ -146,10 +148,11 @@ function services(srv, callback) {
|
||||
} else {
|
||||
srvs.forEach(function (srv) {
|
||||
data.push({
|
||||
'name': srv,
|
||||
'running': false,
|
||||
'pcpu': 0,
|
||||
'pmem': 0
|
||||
name: srv,
|
||||
running: false,
|
||||
startmode: '',
|
||||
pcpu: 0,
|
||||
pmem: 0
|
||||
});
|
||||
});
|
||||
if (callback) { callback(data); }
|
||||
@ -171,40 +174,45 @@ function services(srv, callback) {
|
||||
for (let i = 0; i < serviceSections.length; i++) {
|
||||
if (serviceSections[i].trim() !== '') {
|
||||
let lines = serviceSections[i].trim().split('\r\n');
|
||||
let srv = util.getValue(lines, 'Name', '=', true).toLowerCase();
|
||||
let srvName = util.getValue(lines, 'Name', '=', true).toLowerCase();
|
||||
let started = util.getValue(lines, 'Started', '=', true);
|
||||
if (srvs.indexOf(srv) >= 0) {
|
||||
let startMode = util.getValue(lines, 'StartMode', '=', true);
|
||||
if (srv === '*' || srvs.indexOf(srvName) >= 0) {
|
||||
data.push({
|
||||
'name': srv,
|
||||
'running': (started === 'TRUE'),
|
||||
'pcpu': 0,
|
||||
'pmem': 0
|
||||
name: srvName,
|
||||
running: (started === 'TRUE'),
|
||||
startmode: startMode,
|
||||
pcpu: 0,
|
||||
pmem: 0
|
||||
});
|
||||
dataSrv.push(srv);
|
||||
dataSrv.push(srvName);
|
||||
}
|
||||
}
|
||||
}
|
||||
let srvsMissing = srvs.filter(function (e) {
|
||||
return dataSrv.indexOf(e) === -1;
|
||||
});
|
||||
srvsMissing.forEach(function (srv) {
|
||||
data.push({
|
||||
'name': srv,
|
||||
'running': false,
|
||||
'pcpu': 0,
|
||||
'pmem': 0
|
||||
if (srv !== '*') {
|
||||
let srvsMissing = srvs.filter(function (e) {
|
||||
return dataSrv.indexOf(e) === -1;
|
||||
});
|
||||
});
|
||||
|
||||
srvsMissing.forEach(function (srvName) {
|
||||
data.push({
|
||||
name: srvName,
|
||||
running: false,
|
||||
startmode: '',
|
||||
pcpu: 0,
|
||||
pmem: 0
|
||||
});
|
||||
});
|
||||
}
|
||||
if (callback) { callback(data); }
|
||||
resolve(data);
|
||||
} else {
|
||||
srvs.forEach(function (srv) {
|
||||
srvs.forEach(function (srvName) {
|
||||
data.push({
|
||||
'name': srv,
|
||||
'running': false,
|
||||
'pcpu': 0,
|
||||
'pmem': 0
|
||||
name: srvName,
|
||||
running: false,
|
||||
startmode: '',
|
||||
pcpu: 0,
|
||||
pmem: 0
|
||||
});
|
||||
});
|
||||
if (callback) { callback(data); }
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user