« Tüm yayınlar

Claude Code, Makinenizi Günlerce Yakan Yetim Süreçler Bırakabilir

Claude Code oturumundan kalan 10 yetim süreç bir laptopu iki gün CPU'da yaktı; nedeni ve script düzeltmesi burada.

Bir Claude Code oturumunun geride bıraktığı on 'while :; do :; done' döngüsü, 10 çekirdekli bir laptopta iki gün boyunca fanı tam güçte çalıştırdı. Süreçler PID 1'e (launchd) yeniden ebeveynlendirilmişti; ps çıktısında sadece /bin/zsh görünüyordu, gerçek niyeti anlamak için tam argüman listesine bakmak gerekti.

Sorunun kökü basit ama yaygın bir script hatası: temizlik adımı `jobs -p` ile arka plan PID'lerini toplamaya çalışmış, ancak etkileşimli olmayan kabuklarda job control kapalı olduğu için bu komut hiçbir şey döndürmemiş. Ayrıca üst kabuk kill satırına ulaşamadan sonlandığı için 'happy path'teki temizlik hiç tetiklenmemiş.

Bu durum, ajanların gerçek komutlar çalıştırdığını ve çökme veya iptal durumunda alt süreçlerin otomatik olarak temizlenmeyeceğini gösteriyor. Mühendisler için pratik çıkarım: PPID 1 olan ve etime'ı günlerle ölçülen süreçlere dikkat edin, `jobs -p` yerine `$!` ile PID toplayın ve EXIT/INT/TERM için trap kullanın.