Inhaltsverzeichnis

std.os

Betriebssystem-Schnittstelle für häufig benötigte Systemfunktionen: Schlaf-Funktionen (sleep, sleep_seconds, sleep_microseconds), Prozess-IDs (get_pid, get_uid, get_ppid), Umgebungsvariablen (env_get/env_set/env_unset), aktuelles Verzeichnis, Zeitstempel in ms/µs, Prozessoranzahl, Seitengröße, Arbeitsspeicher, Prozessstart (exec), Pfadprüfung (path_exists, is_directory, is_file) und Systeminfos (OS-Name, Architektur, Benutzername, Home-/Temp-Verzeichnis).

Einsatzbereiche: Systemdienste, CLI-Tools, Daemon-Prozesse, plattformübergreifende Hilfsprogramme.

Autor: Andreas Röne
Copyright: 2024-2025 Andreas Röne


Externe Funktionen

Signatur Beschreibung
getenv(name: pchar): pchar Liest Umgebungsvariable aus Prozessumgebung
setenv(name: pchar, val: pchar, overwrite: int64): int64 Setzt Umgebungsvariable mit optionalem Überschreiben
unsetenv(name: pchar): int64 Entfernt Umgebungsvariable aus Prozessumgebung
getcwd(buf: pchar, size: int64): pchar Gibt aktuelles Arbeitsverzeichnis zurück
chdir(path: pchar): int64 Wechselt das aktuelle Arbeitsverzeichnis
getpid(): int64 Gibt Prozess-ID des aktuellen Prozesses zurück
getuid(): int64 Gibt Benutzer-ID des aktuellen Prozesses zurück
sysconf(name: int64): int64 Liest systemweite Konfigurationswerte
getppid(): int64 Gibt Prozess-ID des Elternprozesses zurück
access(path: pchar, mode: int64): int64 Prüft Dateizugriffsrechte für gegebenen Pfad
raise(sig: int64): int64 Sendet Signal an den aktuellen Prozess
time(tloc: int64): int64 Gibt aktuelle Zeit als Unix-Zeitstempel zurück

Konstanten

Name Typ Wert Sichtbarkeit
SC_CLK_TCK int64 2 priv
SC_PAGESIZE int64 47 priv

Funktionen

Signatur Sichtbarkeit Beschreibung
sleep(milliseconds: int64): void pub Hält Ausführung für Millisekunden an
sleep_seconds(seconds: int64): void pub Hält Ausführung für Sekunden an
sleep_microseconds(microseconds: int64): void pub Hält Ausführung für Mikrosekunden an
get_pid(): int64 pub Gibt Prozess-ID des aktuellen Prozesses zurück
get_uid(): int64 pub Gibt Benutzer-ID des aktuellen Prozesses zurück
get_ppid(): int64 pub Gibt Prozess-ID des Elternprozesses zurück
env_get(key: pchar): pchar pub Liest Wert einer Umgebungsvariable
env_set(key: pchar, val: pchar): bool pub Setzt Wert einer Umgebungsvariable
env_unset(key: pchar): bool pub Entfernt eine Umgebungsvariable
env_has(key: pchar): bool pub Prüft ob Umgebungsvariable existiert
get_cwd(): pchar pub Gibt aktuelles Arbeitsverzeichnis zurück
set_cwd(path: pchar): bool pub Wechselt das aktuelle Arbeitsverzeichnis
time_ms(): int64 pub Gibt aktuelle Zeit in Millisekunden zurück
time_us(): int64 pub Gibt aktuelle Zeit in Mikrosekunden zurück
get_num_cores(): int64 pub Gibt Anzahl der Prozessorkerne zurück
get_page_size(): int64 pub Gibt Speicherseitengröße in Bytes zurück
get_total_memory_mb(): int64 pub Gibt gesamten Arbeitsspeicher in MB zurück
get_available_memory_mb(): int64 pub Gibt verfügbaren Arbeitsspeicher in MB zurück
os_exit(code: int64): void pub Beendet Prozess mit gegebenem Exit-Code
abort(): void pub Bricht Prozess mit SIGABRT ab
exec(path: pchar, a0: pchar, a1: pchar, a2: pchar, a3: pchar): int64 pub Startet externen Prozess mit Argumenten
path_exists(path: pchar): bool pub Prüft ob Pfad im Dateisystem existiert
is_directory(path: pchar): bool pub Prüft ob Pfad ein Verzeichnis ist
is_file(path: pchar): bool pub Prüft ob Pfad eine reguläre Datei ist
get_os_name(): pchar pub Gibt Betriebssystemnamen zurück
get_os_version(): pchar pub Gibt Betriebssystemversion zurück
get_arch(): pchar pub Gibt CPU-Architektur-Bezeichnung zurück
get_home_dir(): pchar pub Gibt Home-Verzeichnis des Benutzers zurück
get_temp_dir(): pchar pub Gibt temporäres Verzeichnis des Systems zurück
get_user_name(): pchar pub Gibt Benutzernamen des aktuellen Prozesses zurück
path_filename(path: pchar): pchar pub Extrahiert Dateinamen aus Pfad-String
path_dirname(path: pchar): pchar pub Extrahiert Verzeichnisteil aus Pfad-String
path_is_absolute(path: pchar): bool pub Prüft ob Pfad absolut ist