| 4.34.6 |
2020-01-12 |
diff --git a/docs/index.html b/docs/index.html
index 1bb0e77..4af9bcf 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -169,7 +169,7 @@
systeminformation
- Current Version: 4.34.6
+ Current Version: 4.34.7
diff --git a/lib/processes.js b/lib/processes.js
index 857905f..3e8da02 100644
--- a/lib/processes.js
+++ b/lib/processes.js
@@ -124,16 +124,38 @@ function services(srv, callback) {
if (_linux || _freebsd || _openbsd || _netbsd || _darwin) {
if ((_linux || _freebsd || _openbsd || _netbsd) && srvString === '*') {
- srvString = '';
- let tmpsrv = execSync('service --status-all 2> /dev/null').toString().split('\n');
- for (const s of tmpsrv) {
- const parts = s.split(']');
- if (parts.length === 2) {
- srvString += (srvString !== '' ? '|' : '') + parts[1].trim();
- allSrv.push({ name: parts[1].trim(), running: parts[0].indexOf('+') > 0 });
+ try {
+ srvString = '';
+ const tmpsrv = execSync('service --status-all 2> /dev/null').toString().split('\n');
+ for (const s of tmpsrv) {
+ 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('|');
+ } catch (e) {
+ try {
+ const srvStr = execSync('ls /etc/init.d/ -m 2> /dev/null').toString().split('\n').join('');
+ srvString = '';
+ if (srvStr) {
+ const tmpsrv = srvStr.split(',');
+ for (const s of tmpsrv) {
+ const name = s.trim();
+ if (name) {
+ srvString += (srvString !== '' ? '|' : '') + name;
+ allSrv.push({ name: name, running: null });
+ }
+ }
+ srvs = srvString.split('|');
+ }
+ } catch (f) {
+ allSrv = [];
+ srvString = '';
+ srvs = [];
}
}
- srvs = srvString.split('|');
}
let comm = (_darwin) ? 'ps -caxo pcpu,pmem,pid,command' : 'ps -axo pcpu,pmem,pid,command';
if (srvString !== '' && srvs.length > 0) {
@@ -152,7 +174,7 @@ function services(srv, callback) {
return (e.toLowerCase().indexOf(' ' + srv + ':') !== -1) || (e.toLowerCase().indexOf('/' + srv) !== -1);
});
}
- let singleSrv = allSrv.filter(item => { return item.name === srv; });
+ // let singleSrv = allSrv.filter(item => { return item.name === srv; });
const pids = [];
for (const p of ps) {
const pid = p.trim().split(' ')[2];
@@ -162,7 +184,8 @@ function services(srv, callback) {
}
result.push({
name: srv,
- running: (allSrv.length && singleSrv.length ? singleSrv[0].running : ps.length > 0),
+// running: (allSrv.length && singleSrv.length && singleSrv[0].running !== null ? singleSrv[0].running : ps.length > 0),
+ running: ps.length > 0,
startmode: '',
pids: pids,
pcpu: parseFloat((ps.reduce(function (pv, cv) {