fix time(), networkConnections() fixed wrond PID parsing (macOS)

This commit is contained in:
Sebastian Hildebrandt 2024-12-13 00:24:26 +01:00
parent edba2b3023
commit 7fd3e4cbb1
5 changed files with 35 additions and 21 deletions

View File

@ -90,6 +90,7 @@ For major (breaking) changes - **version 4, 3 and 2** - see end of page.
| Version | Date | Comment |
| ------- | ---------- | --------------------------------------------------------------------------------------------------- |
| 5.23.11 | 2024-12-13 | `networkConnections()` fixed wrond PID parsing (macOS) |
| 5.23.10 | 2024-12-12 | `time()` changed retrieval of timezones (linux, macOS) |
| 5.23.9 | 2024-12-11 | `typings` added definitions with overload |
| 5.23.8 | 2024-12-10 | `system()` added Raspberry 500 detection |

View File

@ -57,6 +57,11 @@
</tr>
</thead>
<tbody>
<tr>
<th scope="row">5.23.11</th>
<td>2024-12-13</td>
<td><span class="code">networkConnections()</span> fixed wrong PID parsing (macOS)</td>
</tr>
<tr>
<th scope="row">5.23.10</th>
<td>2024-12-12</td>

View File

@ -170,7 +170,7 @@
<img class="logo" src="assets/logo.png" alt="logo">
<div class="title">systeminformation</div>
<div class="subtitle"><span id="typed"></span>&nbsp;</div>
<div class="version">New Version: <span id="version">5.23.10</span></div>
<div class="version">New Version: <span id="version">5.23.11</span></div>
<button class="btn btn-light" onclick="location.href='https://github.com/sebhildebrandt/systeminformation'">View on Github <i class=" fab fa-github"></i></button>
</div>
<div class="down">

View File

@ -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) {

View File

@ -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;