fix time(), networkConnections() fixed wrond PID parsing (macOS)
This commit is contained in:
+1
-1
@@ -1536,7 +1536,7 @@ function networkConnections(callback) {
|
||||
if (_darwin) {
|
||||
// let cmd = 'netstat -natv | grep "ESTABLISHED\\|SYN_SENT\\|SYN_RECV\\|FIN_WAIT1\\|FIN_WAIT2\\|TIME_WAIT\\|CLOSE\\|CLOSE_WAIT\\|LAST_ACK\\|LISTEN\\|CLOSING\\|UNKNOWN"';
|
||||
let cmd = 'netstat -natvln | grep "tcp4\\|tcp6\\|udp4\\|udp6"';
|
||||
const states = 'ESTABLISHED|SYN_SENT|SYN_RECV|FIN_WAIT1|FIN_WAIT2|TIME_WAIT|CLOSE|CLOSE_WAIT|LAST_ACK|LISTEN|CLOSING|UNKNOWN';
|
||||
const states = 'ESTABLISHED|SYN_SENT|SYN_RECV|FIN_WAIT1|FIN_WAIT_1|FIN_WAIT2|FIN_WAIT_2|TIME_WAIT|CLOSE|CLOSE_WAIT|LAST_ACK|LISTEN|CLOSING|UNKNOWN';
|
||||
exec(cmd, { maxBuffer: 1024 * 20000 }, function (error, stdout) {
|
||||
if (!error) {
|
||||
exec('ps -axo pid,command', { maxBuffer: 1024 * 20000 }, function (err2, stdout2) {
|
||||
|
||||
+27
-19
@@ -34,26 +34,34 @@ const _sunos = (_platform === 'sunos');
|
||||
|
||||
function time() {
|
||||
let t = new Date().toString().split(' ');
|
||||
if (_darwin || _linux) {
|
||||
const stdout = execSync('date +%Z && date +%z && ls -l /etc/localtime 2>/dev/null', util.execOptsLinux);
|
||||
const lines = stdout.toString().split(os.EOL);
|
||||
if (lines.length > 3 && !lines[0]) {
|
||||
lines.shift();
|
||||
}
|
||||
return {
|
||||
current: Date.now(),
|
||||
uptime: os.uptime(),
|
||||
timezone: lines[0] && lines[1] ? lines[0] + lines[1] : '',
|
||||
timezoneName: lines[2] && lines[2].indexOf('/zoneinfo/') > 0 ? (lines[2].split('/zoneinfo/')[1] || '') : ''
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
current: Date.now(),
|
||||
uptime: os.uptime(),
|
||||
timezone: (t.length >= 7) ? t[5] : '',
|
||||
timezoneName: Intl ? Intl.DateTimeFormat().resolvedOptions().timeZone : (t.length >= 7) ? t.slice(6).join(' ').replace(/\(/g, '').replace(/\)/g, '') : ''
|
||||
};
|
||||
const result = {
|
||||
current: Date.now(),
|
||||
uptime: os.uptime(),
|
||||
timezone: (t.length >= 7) ? t[5] : '',
|
||||
timezoneName: Intl ? Intl.DateTimeFormat().resolvedOptions().timeZone : (t.length >= 7) ? t.slice(6).join(' ').replace(/\(/g, '').replace(/\)/g, '') : ''
|
||||
};
|
||||
if (_darwin || _linux) {
|
||||
try {
|
||||
const stdout = execSync('date +%Z && date +%z && ls -l /etc/localtime 2>/dev/null', util.execOptsLinux);
|
||||
const lines = stdout.toString().split(os.EOL);
|
||||
if (lines.length > 3 && !lines[0]) {
|
||||
lines.shift();
|
||||
}
|
||||
let timezone = lines[0] || '';
|
||||
if (timezone.startsWith('+') || timezone.startsWith('-')) {
|
||||
timezone = 'GMT';
|
||||
}
|
||||
return {
|
||||
current: Date.now(),
|
||||
uptime: os.uptime(),
|
||||
timezone: lines[1] ? timezone + lines[1] : timezone,
|
||||
timezoneName: lines[2] && lines[2].indexOf('/zoneinfo/') > 0 ? (lines[2].split('/zoneinfo/')[1] || '') : ''
|
||||
};
|
||||
} catch (e) {
|
||||
util.noop();
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
exports.time = time;
|
||||
|
||||
Reference in New Issue
Block a user