Zum Inhalt springen

Hintergrund-Prozesse und Shell-Kommandos mit OpenClaw

Du kennst das: Du startest ein Skript oder einen Build-Prozess und plötzlich blockiert alles. Wenn ein Task länger dauert als erwartet, verlierst du oft die Kontrolle über den Output oder musst mühsam nach Prozess-IDs suchen, um etwas abzubrechen. Es nervt, wenn man zwischen Terminals springt, nur um zu sehen, ob ein Job endlich fertig ist.

Mit OpenClaw kannst du Shell-Kommandos einfach auslagern. Das exec Tool führt Befehle aus, während das process Tool dafür sorgt, dass du bei langlaufenden Aufgaben nicht den Faden verlierst.

  • OpenClaw Installation
  • Aktiviertes exec Tool
  • Aktiviertes process Tool (notwendig für Hintergrund-Sessions)

Hier ist der schnellste Weg, um einen Task im Hintergrund zu starten und das Ergebnis später abzurufen.

  1. Task mit Auto-Background starten: Dieser Befehl wechselt nach einer Sekunde automatisch in den Hintergrund.

    { "tool": "exec", "command": "sleep 5 && echo done", "yieldMs": 1000 }

    Du erhältst eine sessionId und den Status running.

  2. Status und Output abfragen: Nutze die ID, um neuen Output zu laden.

    { "tool": "process", "action": "poll", "sessionId": "<id>" }
  3. Sofort im Hintergrund starten: Wenn du weißt, dass ein Job lange dauert, schicke ihn direkt nach hinten.

    { "tool": "exec", "command": "npm run build", "background": true }
  4. Interaktive Eingaben senden: Falls dein Prozess eine Bestätigung braucht, sende Daten an stdin.

    { "tool": "process", "action": "write", "sessionId": "<id>", "data": "y\n" }

Das exec Tool bietet dir volle Kontrolle über die Ausführung. Du kannst timeout nutzen, um Prozesse nach einer bestimmten Zeit automatisch zu beenden (Standard sind 1800 Sekunden). Wenn du eine echte Terminal-Umgebung benötigst, setze pty: true. Über workdir und env passt du die Umgebung an.

Das process Tool ist dein Manager für diese Sessions. Mit list siehst du alle laufenden und beendeten Jobs. Wichtig zu wissen: Sessions sind an den jeweiligen Agent gebunden und verschwinden bei einem Neustart, da sie nur im Speicher liegen. Wenn du den gesamten Verlauf eines Prozesses lesen willst, hilft dir log mit den Parametern offset und limit.

Wenn du eigene Child-Prozesse außerhalb dieser Tools startest, solltest du den Child-Process Bridge Helper nutzen. Das verhindert verwaiste Prozesse auf systemd und sorgt dafür, dass Signale zum Beenden korrekt ankommen.

  • Problem: Das exec Tool ignoriert yieldMs oder background und läuft immer synchron. Lösung: Prüfe, ob das process Tool deaktiviert ist. Ohne dieses Tool führt OpenClaw Befehle nur synchron aus.
  • Problem: Verwaiste Prozesse nach einem Shutdown. Lösung: Stelle sicher, dass du bei externen Helfern den Child-Process Bridge Helper angehängt hast, damit Termination-Signale weitergeleitet werden.

AI Setup Assistant

  • Tool Configuration
  • Agent Scoping
  • Environment Variables
  • System Events und Heartbeats
OpenClaw

OpenClaw Expert

Noch festgefahren?

Wenn diese Seite nicht hilft, frage OpenClaw Expert nach Schritt-fuer-Schritt-Loesungen.