Hintergrundausführung + Prozess-Tool
OpenClaw führt Shell-Befehle über das Toolexec aus und hält lang laufende Aufgaben im Speicher. Das Tool process verwaltet diese Hintergrundsitzungen.
exec-Tool
Wichtige Parameter:command(erforderlich)yieldMs(Standard 10000): automatisches Verschieben in den Hintergrund nach dieser Verzögerungbackground(bool): sofort im Hintergrund startentimeout(Sekunden, Standard 1800): beendet den Prozess nach diesem Timeoutelevated(bool): auf dem Host ausführen, wenn der erhöhte Modus aktiviert/erlaubt ist- Benötigen Sie ein echtes TTY? Setzen Sie
pty: true. workdir,env
- Vordergrundausführungen geben die Ausgabe direkt zurück.
- Bei Ausführung im Hintergrund (explizit oder durch Timeout) gibt das Tool
status: "running"+sessionIdsowie einen kurzen Tail zurück. - Die Ausgabe wird im Speicher gehalten, bis die Sitzung abgefragt oder gelöscht wird.
- Wenn das Tool
processnicht erlaubt ist, läuftexecsynchron und ignoriertyieldMs/background.
Child-Process-Bridging
Beim Starten lang laufender Child-Prozesse außerhalb der Exec-/Process-Tools (zum Beispiel bei CLI-Neustarts oder Gateway-Hilfsprozessen) sollten Sie den Child-Process-Bridge-Helper anhängen, damit Beendigungssignale weitergeleitet und Listener bei Exit/Fehler getrennt werden. Dies vermeidet verwaiste Prozesse unter systemd und sorgt für konsistentes Shutdown-Verhalten über alle Plattformen hinweg. Umgebungs-Overrides:PI_BASH_YIELD_MS: Standard-Yield (ms)PI_BASH_MAX_OUTPUT_CHARS: In-Memory-Ausgabegrenze (Zeichen)OPENCLAW_BASH_PENDING_MAX_OUTPUT_CHARS: Grenze für ausstehende stdout/stderr pro Stream (Zeichen)PI_BASH_JOB_TTL_MS: TTL für abgeschlossene Sitzungen (ms, begrenzt auf 1 Min.–3 Std.)
tools.exec.backgroundMs(Standard 10000)tools.exec.timeoutSec(Standard 1800)tools.exec.cleanupMs(Standard 1800000)tools.exec.notifyOnExit(Standard true): stellt beim Beenden einer im Hintergrund ausgeführten Exec einen System-Event in die Warteschlange und fordert einen Heartbeat an.tools.exec.notifyOnExitEmptySuccess(Standard false): wenn true, werden auch Completion-Events für erfolgreiche Hintergrundausführungen ohne Ausgabe eingereiht.
process tool
Aktionen:list: laufende + abgeschlossene Sitzungenpoll: neue Ausgabe für eine Sitzung abziehen (meldet auch den Exit-Status)log: aggregierte Ausgabe lesen (unterstütztoffset+limit)write: stdin senden (data, optionaleof)kill: eine Hintergrundsitzung beendenclear: eine abgeschlossene Sitzung aus dem Speicher entfernenremove: beenden, wenn laufend, andernfalls löschen, wenn abgeschlossen
- Nur im Hintergrund ausgeführte Sitzungen werden aufgelistet bzw. im Speicher gehalten.
- Sitzungen gehen bei einem Prozessneustart verloren (keine Persistenz auf Datenträger).
- Sitzungsprotokolle werden nur im Chat-Verlauf gespeichert, wenn Sie
process poll/logausführen und das Tool-Ergebnis aufgezeichnet wird. processist pro Agent begrenzt; es sieht nur Sitzungen, die von diesem Agent gestartet wurden.process listenthält ein abgeleitetesname(Befehlsverb + Ziel) für schnelle Übersichten.process logverwendet zeilenbasiertesoffset/limit(lassen Sieoffsetweg, um die letzten N Zeilen zu erhalten).- Wenn sowohl
offsetals auchlimitweggelassen werden, werden die letzten 200 Zeilen zurückgegeben und ein Paging-Hinweis eingefügt. - Wenn
offsetangegeben undlimitweggelassen wird, wird vonoffsetbis zum Ende zurückgegeben (nicht auf 200 begrenzt).