diff --git a/lib/processes.js b/lib/processes.js index 2675e67..4c0ab80 100644 --- a/lib/processes.js +++ b/lib/processes.js @@ -130,43 +130,43 @@ function services(srv, callback) { if (_linux || _freebsd || _openbsd || _netbsd || _darwin) { if ((_linux || _freebsd || _openbsd || _netbsd) && srvString === '*') { try { - srvString = ''; - const tmpsrv = execSync('service --status-all 2> /dev/null').toString().split('\n'); + const tmpsrv = execSync('systemctl --type=service --no-legend 2> /dev/null').toString().split('\n'); + srvs = []; 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 }); + const name = s.split('.service')[0]; + if (name) { + srvs.push(name); } } - srvs = srvString.split('|'); - } catch (e) { + srvString = srvs.join('|'); + } catch (d) { 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 }); - } + 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 (f) { + srvs = srvString.split('|'); + } catch (e) { try { - const tmpsrv = execSync('systemctl --type=service --no-legend 2> /dev/null').toString().split('\n'); - srvs = []; - for (const s of tmpsrv) { - const name = s.split('.service')[0]; - if (name) { - srvs.push(name); + 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('|'); } - srvString = srvs.join('|'); - } catch (g) { + } catch (f) { // allSrv = []; srvString = ''; srvs = [];