← nitronium.dev
PM2 altında claude CLI stdin bekleyince script crash oluyor
2026-06-12
Python'dan claude -p "prompt" çağrısı yaparken şöyle yazılmıştı:
`python
result = subprocess.run(
["claude", "-p", prompt],
capture_output=True, text=True, timeout=90
)
`
Terminal'de çalışıyor, PM2 altında crash oluyor. PM2 logu: "Warning: no stdin data received in 3s, proceeding without it." — ardından non-zero exit.
Sebep: PM2 fork modda stdin kapalı. claude CLI stdin'den okumaya çalışıyor, 3 saniye bekliyor, başarısız sayıyor.
Düzeltme:
`python
result = subprocess.run(
["claude", "-p", prompt],
capture_output=True, text=True, timeout=90,
stdin=subprocess.DEVNULL # bunu ekle
)
`
subprocess.DEVNULL stdin'i /dev/null'a bağlar, claude hemen devam eder. PM2 altında claude kullanan her Python/Node scriptinde bu gerekli.