This commit is contained in:
@@ -1,3 +1,58 @@
|
||||
import os from 'node:os';
|
||||
|
||||
console.log(os.platform());
|
||||
console.log(os.cpus().length);
|
||||
|
||||
console.log(`I am running on a machine with ${os.platform()} and ${os.cpus().length} cores.`);
|
||||
console.log(`I am running on a machine with ${os.type()} and ${os.cpus().length} cores.`);
|
||||
console.log(`I am running on a machine with ${os.version()} and ${os.cpus().length} cores.`);
|
||||
|
||||
// Weitere Informationen zum Betriebssystem
|
||||
console.log('\n--- Betriebssystem ---');
|
||||
console.log('Systemtyp:', os.type());
|
||||
console.log('Systemversion:', os.release());
|
||||
console.log('Architektur von Node.js:', os.arch());
|
||||
console.log('Computername:', os.hostname());
|
||||
|
||||
// os.cpus() liefert Informationen zu den logischen CPU-Kernen.
|
||||
const cpus = os.cpus();
|
||||
console.log('\n--- Prozessor ---');
|
||||
console.log('Logische CPU-Kerne:', cpus.length);
|
||||
console.log('CPU-Modell:', cpus[0]?.model ?? 'Unbekannt');
|
||||
|
||||
// Die Speicherangaben kommen in Bytes. 1024 ** 3 Bytes entsprechen einem GiB.
|
||||
const totalMemory = os.totalmem();
|
||||
const freeMemory = os.freemem();
|
||||
const usedMemory = totalMemory - freeMemory;
|
||||
|
||||
function formatMemory(bytes) {
|
||||
return `${(bytes / 1024 ** 3).toFixed(2)} GiB`;
|
||||
}
|
||||
|
||||
console.log('\n--- Arbeitsspeicher ---');
|
||||
console.log('Gesamt:', formatMemory(totalMemory));
|
||||
console.log('Frei:', formatMemory(freeMemory));
|
||||
console.log('Belegt:', formatMemory(usedMemory));
|
||||
|
||||
// os.uptime() gibt die Laufzeit des Betriebssystems in Sekunden zurück.
|
||||
const uptime = os.uptime();
|
||||
const hours = Math.floor(uptime / 3600);
|
||||
const minutes = Math.floor((uptime % 3600) / 60);
|
||||
console.log(`\nSystemlaufzeit: ${hours} Stunden und ${minutes} Minuten`);
|
||||
|
||||
console.log('\n--- Benutzer und Verzeichnisse ---');
|
||||
console.log('Benutzername:', os.userInfo().username);
|
||||
console.log('Home-Verzeichnis:', os.homedir());
|
||||
console.log('Temporäres Verzeichnis:', os.tmpdir());
|
||||
|
||||
// Jede Netzwerkschnittstelle kann mehrere IPv4- und IPv6-Adressen haben.
|
||||
console.log('\n--- Netzwerkschnittstellen ---');
|
||||
for (const [name, addresses] of Object.entries(os.networkInterfaces())) {
|
||||
for (const address of addresses ?? []) {
|
||||
console.log(`${name}: ${address.address} (${address.family}${address.internal ? ', intern' : ''})`);
|
||||
}
|
||||
}
|
||||
|
||||
// Übung 32: Information zum Betriebssystem und der Anzahl der vorhandenen CPUs
|
||||
|
||||
// Im Kontext einer Monitoring-Lösung benötigt ein Kunde eine kleine CLI (Command Line Interface)-Anwendung, die es erlaubt, das aktuelle Betriebssystem und die Anzahl der CPUs auf dem jeweiligen Rechner zu ermitteln.
|
||||
|
||||
Reference in New Issue
Block a user