Arka Plan Exec + Process Aracı
OpenClaw,exec aracı üzerinden kabuk komutlarını çalıştırır ve uzun süre çalışan görevleri bellekte tutar. process aracı bu arka plan oturumlarını yönetir.
exec aracı
Temel parametreler:command(gerekli)yieldMs(varsayılan 10000): bu gecikmeden sonra otomatik olarak arka plana albackground(bool): hemen arka plana altimeout(saniye, varsayılan 1800): bu zaman aşımından sonra süreci sonlandırelevated(bool): yükseltilmiş mod etkin/izinliyse ana makinede çalıştır- Gerçek bir TTY mi gerekiyor?
pty: trueayarlayın. workdir,env
- Ön planda çalışanlar çıktıyı doğrudan döndürür.
- Arka plana alındığında (açıkça veya zaman aşımıyla), araç
status: "running"+sessionIdve kısa bir kuyruk döndürür. - Çıktı, oturum yoklanana veya temizlenene kadar bellekte tutulur.
processaracı izinli değilse,execeşzamanlı çalışır veyieldMs/backgroundyok sayılır.
Child process bridging
exec/process araçları dışında uzun süre çalışan alt süreçler oluşturulurken (örneğin CLI yeniden başlatmaları veya gateway yardımcıları), sonlandırma sinyallerinin iletilmesi ve çıkış/hata durumunda dinleyicilerin ayrılması için alt süreç köprü yardımcısını ekleyin. Bu, systemd üzerinde yetim süreçleri önler ve platformlar arasında kapatma davranışını tutarlı kılar. Environment overrides:PI_BASH_YIELD_MS: varsayılan yield (ms)PI_BASH_MAX_OUTPUT_CHARS: bellek içi çıktı üst sınırı (karakter)OPENCLAW_BASH_PENDING_MAX_OUTPUT_CHARS: akış başına bekleyen stdout/stderr üst sınırı (karakter)PI_BASH_JOB_TTL_MS: tamamlanan oturumlar için TTL (ms, 1 dk–3 sa ile sınırlı)
tools.exec.backgroundMs(varsayılan 10000)tools.exec.timeoutSec(varsayılan 1800)tools.exec.cleanupMs(varsayılan 1800000)tools.exec.notifyOnExit(varsayılan true): arka plana alınmış bir exec çıktığında bir sistem olayı kuyruğa al ve istek heartbeat’i talep et.tools.exec.notifyOnExitEmptySuccess(varsayılan false): true olduğunda, çıktı üretmeyen başarılı arka plan çalıştırmaları için de tamamlanma olaylarını kuyruğa ekler.
process aracı
Eylemler:list: çalışan + tamamlanan oturumlarpoll: bir oturum için yeni çıktıyı boşalt (çıkış durumunu da bildirir)log: birikmiş çıktıyı oku (offset+limitdesteklenir)write: stdin gönder (data, isteğe bağlıeof)kill: bir arka plan oturumunu sonlandırclear: tamamlanan bir oturumu bellekten kaldırremove: çalışıyorsa öldür, aksi halde tamamlandıysa temizle
- Yalnızca arka plana alınmış oturumlar listelenir/bellekte tutulur.
- Süreç yeniden başlatıldığında oturumlar kaybolur (diskte kalıcılık yoktur).
- Oturum günlükleri yalnızca
process poll/logçalıştırılır ve araç sonucu kaydedilirse sohbet geçmişine kaydedilir. processajan başına kapsamlıdır; yalnızca o ajan tarafından başlatılan oturumları görür.process list, hızlı taramalar için türetilmiş birname(komut fiili + hedef) içerir.process log, satır tabanlıoffset/limitkullanır (son N satırı almak içinoffset’yı atlayın).- Hem
offsethem delimitbelirtilmezse, son 200 satırı döndürür ve bir sayfalama ipucu içerir. offsetbelirtiliplimitbelirtilmezse,offsetdeğerinden sona kadar döndürür (200 ile sınırlandırılmaz).