exec i przechowuje długotrwałe zadania w pamięci. Narzędzie process zarządza tymi sesjami działającymi w tle.
Narzędzie exec
Parametry:
Działanie:
- Uruchomienia pierwszoplanowe zwracają dane wyjściowe bezpośrednio.
- Po przeniesieniu do tła (jawnie lub wskutek upływu czasu
yieldMs) narzędzie zwracastatus: "running"+sessionIdoraz krótki końcowy fragment danych wyjściowych. - Uruchomienia w tle i z
yieldMsdziedziczątools.exec.timeoutSec, chyba że wywołanie przekazuje jawny parametrtimeout. - Dane wyjściowe pozostają w pamięci do czasu sprawdzenia lub wyczyszczenia sesji.
- Jeśli narzędzie
processjest niedozwolone,execdziała synchronicznie i ignorujeyieldMs/background. - Uruchomione polecenia exec otrzymują
OPENCLAW_SHELL=execna potrzeby reguł powłoki/profilu uwzględniających kontekst. - W przypadku długotrwałego zadania rozpoczynanego teraz: uruchom je raz i polegaj na automatycznym powiadomieniu o ukończeniu (jeśli jest włączone), gdy polecenie wygeneruje dane wyjściowe lub zakończy się niepowodzeniem.
- Jeśli automatyczne powiadomienie o ukończeniu jest niedostępne albo potrzebujesz potwierdzenia cichego powodzenia polecenia, które kończy się bez danych wyjściowych, sprawdź stan za pomocą
process. - Nie imituj przypomnień ani opóźnionych działań za pomocą pętli
sleeplub wielokrotnego sprawdzania — do przyszłych zadań użyj cron.
Nadpisywanie za pomocą zmiennych środowiskowych
Konfiguracja (preferowana zamiast nadpisywania zmiennymi środowiskowymi)
Mostkowanie procesów potomnych
Podczas uruchamiania długotrwałych procesów potomnych poza narzędziami exec/process (ponowne uruchomienia CLI, procesy pomocnicze Gateway) dołącz funkcję pomocniczą mostka procesów potomnych, aby przekazywała sygnały zakończenia i odłączała procedury nasłuchujące po wyjściu/błędzie. Zapobiega to osieroconym procesom w systemd i zapewnia spójne zamykanie na różnych platformach.Narzędzie process
Działania:
Uwagi:
- Wyświetlane i przechowywane są tylko sesje działające w tle — wyłącznie w pamięci, nie na dysku. Sesje są tracone po ponownym uruchomieniu procesu.
- Aktywna sesja w tle blokuje kooperacyjne wstrzymanie hosta i bezpieczne ponowne uruchomienie Gateway, dopóki właściciel procesu nie potwierdzi jego faktycznego zakończenia.
process removemoże ukryć działającą sesję natychmiast po zażądaniu jej zakończenia; wstrzymanie i ponowne uruchomienie pozostają zablokowane do czasu potwierdzenia zakończenia.- Dzienniki sesji są zapisywane w historii czatu tylko wtedy, gdy uruchomisz
process poll/log, a wynik działania narzędzia zostanie zarejestrowany. - Zakres
processjest ograniczony do konkretnego agenta; widzi ono tylko sesje uruchomione przez tego agenta. - Użyj
poll/log, aby sprawdzić stan, dzienniki lub potwierdzić ukończenie, gdy automatyczne powiadomienie o ukończeniu jest niedostępne. - Użyj
logprzed odzyskaniem interaktywnego CLI, aby bieżący zapis sesji, stan stdin i wskazówka oczekiwania na dane wejściowe były widoczne razem. - Użyj
write/send-keys/submit/paste/kill, gdy wymagane jest wprowadzenie danych lub interwencja. process listzawiera wyprowadzoną wartośćname(czasownik polecenia + cel), która ułatwia szybkie przeglądanie.process list,pollilogzgłaszająwaitingForInputtylko wtedy, gdy sesja nadal ma zapisywalne stdin i pozostaje bezczynna dłużej niż próg oczekiwania na dane wejściowe (domyślnie 15000 ms,OPENCLAW_PROCESS_INPUT_WAIT_IDLE_MS).process logużywa opartego na wierszachoffset/limit. Gdy oba parametry są pominięte, zwraca ostatnie 200 wierszy ze wskazówką dotyczącą stronicowania. Gdy ustawionooffset, ale nielimit, zwraca dane odoffsetdo końca (bez ograniczenia do 200).- Parametr
timeoutdziałaniapollpowoduje oczekiwanie przez maksymalnie podaną liczbę milisekund przed zwróceniem wyniku; wartości powyżej 30000 są ograniczane do 30000. - Sprawdzanie służy do uzyskiwania stanu na żądanie, a nie do planowania pętli oczekiwania. Jeśli zadanie ma zostać wykonane później, użyj cron.