Skip to main content
OpenClaw, kabuk komutlarını exec aracı üzerinden ç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ı

Parametreler: Davranış:
  • Ön plandaki çalıştırmalar çıktıyı doğrudan döndürür.
  • Arka plana alındığında (açıkça veya yieldMs zaman aşımı yoluyla), araç status: "running" + sessionId ve çıktının kısa bir son bölümünü döndürür.
  • Arka plana alınan ve yieldMs çalıştırmaları, çağrı açık bir timeout iletmediği sürece tools.exec.timeoutSeconds değerini devralır.
  • Çıktı, oturum yoklanana veya temizlenene kadar bellekte kalır.
  • process aracına izin verilmiyorsa exec eşzamanlı olarak çalışır ve yieldMs/background değerlerini yok sayar.
  • Başlatılan exec komutları, bağlama duyarlı kabuk/profil kuralları için OPENCLAW_SHELL=exec değerini alır.
  • Şimdi başlayan uzun süreli işler için: işi bir kez başlatın ve komut çıktı verdiğinde veya başarısız olduğunda otomatik tamamlanma uyandırmasına (etkinse) güvenin.
  • Otomatik tamamlanma uyandırması kullanılamıyorsa veya çıktı vermeden başarıyla sonlanan bir komut için sessiz başarı onayı gerekiyorsa process ile yoklayın.
  • Hatırlatıcıları veya gecikmeli takipleri sleep döngüleriyle ya da tekrarlanan yoklamalarla taklit etmeyin — gelecekteki işler için Cron kullanın.

Ortam değişkeni geçersiz kılmaları

Yapılandırma (ortam değişkeni geçersiz kılmalarına tercih edilir)

Alt süreç köprüleme

Exec/process araçları dışında uzun süre çalışan alt süreçler başlatırken (CLI yeniden başlatmaları, 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 sahipsiz süreçleri önler ve kapatmanın platformlar arasında tutarlı kalmasını sağlar.

process aracı

Eylemler: Notlar:
  • Yalnızca arka plana alınan oturumlar listelenir/saklanır — yalnızca bellekte tutulur, diske yazılmaz. İşlem yeniden başlatıldığında oturumlar kaybolur.
  • Canlı bir arka plan oturumu, süreç sahibi gerçekten sonlandığını doğrulayana kadar işbirlikçi ana makine askıya almasını ve güvenli Gateway yeniden başlatmasını engeller.
  • process remove, sonlandırma istendikten hemen sonra çalışan bir oturumu gizleyebilir; askıya alma ve yeniden başlatma, çıkış onaylanana kadar engellenmeye devam eder.
  • Oturum günlükleri yalnızca process poll/log çalıştırılır ve araç sonucu kaydedilirse sohbet geçmişine kaydedilir.
  • process ajan başına kapsamlandırılır; yalnızca o ajan tarafından başlatılan oturumları görür.
  • Otomatik tamamlanma uyandırması kullanılamadığında durum, günlükler veya tamamlanma onayı için poll/log kullanın.
  • Etkileşimli bir CLI’ı kurtarmadan önce log kullanın; böylece mevcut transkript, stdin durumu ve girdi bekleme ipucu birlikte görünür.
  • Girdi veya müdahale gerektiğinde write/send-keys/submit/paste/kill kullanın.
  • process list, hızlı taramalar için türetilmiş bir name (komut fiili + hedef) içerir.
  • process list, poll ve log, yalnızca oturumda hâlâ yazılabilir stdin varsa ve oturum girdi bekleme eşiğinden (varsayılan 15000 ms, OPENCLAW_PROCESS_INPUT_WAIT_IDLE_MS) daha uzun süredir boşta ise waitingForInput bildirir.
  • process log, satır tabanlı offset/limit kullanır. İkisi de belirtilmediğinde, sayfalama ipucuyla birlikte son 200 satırı döndürür. offset ayarlanmış ancak limit ayarlanmamışsa offset değerinden sona kadar döndürür (200 ile sınırlandırılmaz).
  • poll öğesinin timeout değeri, dönmeden önce en fazla belirtilen milisaniye kadar bekler; 30000 üzerindeki değerler 30000 ile sınırlandırılır.
  • Yoklama, isteğe bağlı durum sorgulama içindir; bekleme döngüsü zamanlaması için değildir. İş daha sonra yapılacaksa Cron kullanın.

Örnekler

Uzun bir görev çalıştırıp daha sonra yoklayın:
Girdi göndermeden önce etkileşimli bir oturumu inceleyin:
Hemen arka planda başlatın:
stdin gönderin:
PTY tuşlarını gönderin:
Geçerli satırı gönderin:
Düz metin yapıştırın:

İlgili