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 |
