std.process

Prozesserzeugung und -verwaltung über POSIX-Systemaufrufe (fork, execve, execvp, waitpid, kill). spawn(prog) startet einen Kindprozess und gibt seine PID zurück; run(prog) wartet zusätzlich auf das Ende. wait_for/try_wait warten blockierend bzw. non-blocking auf den Exit-Code; terminate(SIGTERM) und terminate_force(SIGKILL) beenden Prozesse; shell(cmd) führt einen Shell-Befehl aus.

Einsatzbereiche: Daemon-Launcher, Build-Systeme, Prozess-Pooling, Test-Runner, Skript-Ausführung aus Lyx-Programmen.

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


Typen

Process = int64

ExitCode = int64


Externe Funktionen

Signatur Beschreibung
fork(): int64 Erzeugt Kindprozess als Kopie des Elternprozesses
execve(path: pchar, argv: pchar, envp: pchar): int64 Ersetzt Prozessabbild mit neuem Programm
execvp(path: pchar, argv: pchar): int64 Führt Programm über PATH-Suche aus
waitpid(pid: int64, status: int64, options: int64): int64 Wartet auf Statusänderung eines Kindprozesses
kill(pid: int64, sig: int64): int64 Sendet Signal an einen Prozess
getpid(): int64 Gibt Prozess-ID des aktuellen Prozesses zurück

Konstanten

Name Typ Wert Sichtbarkeit
WNOHANG int64 1 pub
SIGTERM int64 15 pub
SIGKILL int64 9 pub

Funktionen

Signatur Sichtbarkeit Beschreibung
spawn(prog: pchar): Process pub Startet Kindprozess und gibt dessen PID zurück
run(prog: pchar): ExitCode pub Startet Prozess und wartet auf Beendigung
wait_for(pid: int64): ExitCode pub Wartet blockierend auf Prozess-Ende
try_wait(pid: int64): ExitCode pub Prüft non-blocking ob Prozess beendet ist
proc_kill(pid: int64, sig: int64): int64 pub Sendet beliebiges Signal an Prozess
terminate(pid: int64): int64 pub Beendet Prozess mit SIGTERM
terminate_force(pid: int64): int64 pub Beendet Prozess erzwungen mit SIGKILL
is_running(pid: int64): bool pub Prüft ob ein Prozess noch läuft
self_pid(): int64 pub Gibt eigene Prozess-ID zurück
shell(cmd: pchar): ExitCode pub Führt Shell-Befehl aus und gibt Exit-Code zurück