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
| 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 |
| Name | Typ | Wert | Sichtbarkeit |
|---|---|---|---|
WNOHANG | int64 | 1 | pub |
SIGTERM | int64 | 15 | pub |
SIGKILL | int64 | 9 | pub |
| 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 |