> ## Documentation Index
> Fetch the complete documentation index at: https://openclaw.veiseule.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Arka Plan Exec ve Process Aracı

# 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 al
* `background` (bool): hemen arka plana al
* `timeout` (saniye, varsayılan 1800): bu zaman aşımından sonra süreci sonlandır
* `elevated` (bool): yükseltilmiş mod etkin/izinliyse ana makinede çalıştır
* Gerçek bir TTY mi gerekiyor? `pty: true` ayarlayın.
* `workdir`, `env`

Davranış:

* Ö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"` + `sessionId` ve kısa bir kuyruk döndürür.
* Çıktı, oturum yoklanana veya temizlenene kadar bellekte tutulur.
* `process` aracı izinli değilse, `exec` eşzamanlı çalışır ve `yieldMs`/`background` yok 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ı)

Yapılandırma (tercih edilir):

* `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 oturumlar
* `poll`: bir oturum için yeni çıktıyı boşalt (çıkış durumunu da bildirir)
* `log`: birikmiş çıktıyı oku (`offset` + `limit` desteklenir)
* `write`: stdin gönder (`data`, isteğe bağlı `eof`)
* `kill`: bir arka plan oturumunu sonlandır
* `clear`: tamamlanan bir oturumu bellekten kaldır
* `remove`: çalışıyorsa öldür, aksi halde tamamlandıysa temizle

Notlar:

* 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.
* `process` ajan 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ş bir `name` (komut fiili + hedef) içerir.
* `process log`, satır tabanlı `offset`/`limit` kullanır (son N satırı almak için `offset`’yı atlayın).
* Hem `offset` hem de `limit` belirtilmezse, son 200 satırı döndürür ve bir sayfalama ipucu içerir.
* `offset` belirtilip `limit` belirtilmezse, `offset` değerinden sona kadar döndürür (200 ile sınırlandırılmaz).

## Örnekler

Uzun bir görevi çalıştırın ve daha sonra yoklayın:

```json theme={"theme":{"light":"min-light","dark":"min-dark"}}
{ "tool": "exec", "command": "sleep 5 && echo done", "yieldMs": 1000 }
```

```json theme={"theme":{"light":"min-light","dark":"min-dark"}}
{ "tool": "process", "action": "poll", "sessionId": "<id>" }
```

Hemen arka planda başlatın:

```json theme={"theme":{"light":"min-light","dark":"min-dark"}}
{ "tool": "exec", "command": "npm run build", "background": true }
```

stdin gönderin:

```json theme={"theme":{"light":"min-light","dark":"min-dark"}}
{ "tool": "process", "action": "write", "sessionId": "<id>", "data": "y\n" }
```
