Mac'te caffeinate: komut örnekleri, sınırları ve daha güvenli AI iş akışı seçenekleri

caffeinate, Sistem Ayarları'nı açmaya gerek kalmadan Mac'i uyanık tutmak için her Mac'te hazır gelen komut satırı aracıdır — tek başına çalıştırırsanız Ctrl-C'ye basana kadar boşta uyumayı engeller, -t 3600 eklerseniz bir saat sonra kendini durdurur, ya da bir komutu sarmalarsanız Mac'i yalnızca o komut çalışırken uyanık tutar. Yapmadığı şey ise kapak kapalıyken uykuya geçişe, batarya seviyesine veya ısıya dokunmak: kapağı kapatırsanız, caffeinate ne kadar süredir çalışıyor olursa olsun MacBook uykuya geçer. Aşağıda gerçek komutlar, kapak-kapalı sınırını aşmanın ücretsiz yolları (çoğu kişinin hiç duymadığı biri dahil) ve caffeinate durduktan sonra LidRun gibi güvenlik bilinçli bir aracın devreye girdiği nokta var.
caffeinate komutu gerçekte ne yapar
caffeinate, yıllardır macOS ile birlikte gelen küçük bir komut satırı aracıdır. Çalıştığı sürece bir güç yönetimi assertion'ı — sistemden uyumamasını isteyen bir talep — oluşturur, sonra çıkışta bu assertion'ı otomatik olarak serbest bırakır. Ayrı bir "geri kapat" adımı yoktur; bu, yazının ilerleyen kısmında kendiliğinden serbest bırakmayan bir çözüme geldiğimizde önem kazanacak.
Hiçbir flag olmadan çalıştırırsanız varsayılan olarak boşta uykuyu engeller. Belirli assertion'lar için belirli flag'ler ekleyebilirsiniz: -d ekranın da uykuya geçmesini engeller, -m disklerin uykuya geçmesini engeller, -s sistem uykusunu engeller (ama yalnızca AC güç bağlıyken), ve -u kullanıcının aktif olduğunu bildirir, bu da ekranı uyandırır ve kabaca -d -t 5 ile aynı etkiyi yaratır. Bunlar birikir — tek bir ana anahtar değil, ayrı ayrı birleştirilebilir assertion'lardır. caffeinate -d -i çalıştırdığınızda, Mac'in tekrar uyuyabilmesi için ikisinin de bitmesi gereken iki bağımsız tutma elde edersiniz.
Geliştiriciler için asıl faydalı yanı, caffeinate'in bir GUI'sinin, menü çubuğu simgesinin veya yapılandırma dosyasının olmaması. Script'lenmek üzere tasarlanmıştır — bir ayarlar panosuna dokunmadan başlatılır, çalışır ve serbest bırakılır. Net bir başlangıcı ve sonu olan bir terminal oturumu veya script için bu gerçekten doğru araçtır.
caffeinate komut örnekleri — ve gerçekten çalıştığını nasıl kontrol edersiniz
En basit hali, açık bıraktığınız bir terminal penceresinde çalıştırılan tek başına caffeinatetir — Ctrl-C'ye basana ya da pencereyi kapatana kadar boşta uykuyu engeller.


Sabit bir süre için caffeinate -t 3600, Mac'i tam olarak bir saat uyanık tutar, ardından kendi kendine çıkar ve assertion'ı serbest bırakır — durdurmayı hatırlamanıza gerek kalmaz.
Belirli bir iş için komutu doğrudan sarmalayın: caffeinate -i npm run build, Mac'i yalnızca o build çalışırken uyanık tutar ve bittiği ya da başarısız olduğu anda serbest bırakır. Aynı kalıp caffeinate -i ./deploy.sh, uzun bir rsync veya net bir başlangıcı ve sonu olan başka herhangi bir komut için de işe yarar. İşlemi kendiniz başlatmadıysanız — mesela bir IDE'den tetiklenen bir build — caffeinate -w <pid> bunun yerine mevcut bir process ID'yi bekler.
Cron job'lar etkileşimli bir terminal olmadan çalışır, bu yüzden job'u caffeinate ile sarmalamak, gece boyunca zamanlanan her şey için yaygın bir kalıptır: 0 2 * * * /usr/bin/caffeinate -i /path/to/nightly-backup.sh, Mac'i tam olarak yedeklemenin süresi kadar uyanık tutar, fazlasını değil.
caffeinate'in Mac'i gerçekten uyanık tuttuğunu doğrulamak için pmset -g assertions çalıştırın — her aktif güç assertion'ını ve onu tutan process'i listeler; caffeinate'in PID'sinin yanında PreventUserIdleSystemSleepi arayın. Sadece process'in canlı olduğunu bilmeniz yeterliyse, daha basit bir kontrol ps aux | grep caffeinatedir.
Her caffeinate çağrısı kendi bağımsız assertion'ını tutar, bu yüzden aynı anda iki ya da üç tanesini çalıştırmak sorun değildir — bunlardan biri hayatta kaldığı sürece Mac uyanık kalır, birini sonlandırmak diğerlerini serbest bırakmaz.
İlgili kılavuzLidRun vs caffeinate: hangi uyanık tutma aracı workflow'unuza uyuyor?caffeinate'in yetersiz kaldığı yerler: kapalı kapak, batarya ve ısı
Asıl işi için — bir script, bir build veya izlediğiniz bir terminal oturumu boyunca boşta uykuyu engellemek — caffeinate tam olarak vaat ettiğini yapar, hiçbir bağımlılık ve kurulum adımı olmadan.
Sınırlar kapak kapalıyken yapılan işlerde ortaya çıkar, ve AI kodlama ajanları ile dev iş yükleri tam olarak bu noktada sorun yaşar: Claude Code'da uzun bir refactor, bir Docker imajının build edilmesi, bir Ollama modelinin indirilmesi — insanların kapak kapalıyken, masada, toplantılar arası bir çantada veya gece boyunca çalışır durumda tutmak istediği her şey. caffeinate'in assertion'ları macOS'un kapak kapatmada tetiklediği uykuyu geçersiz kılmaz; caffeinate çalışıyor olsa bile kapak kapalıyken MacBook yine uyur, nokta.
Ayrıca batarya seviyesi ya da ısı gibi bir kavramı da yoktur. Bataryayla sekiz saatlik bir oturum için caffeinate -t 28800 çalıştırırsanız, batarya ne kadar düşerse düşsün assertion'ı süre boyunca tutar; bir çanta içinde ısınan bir Mac'i fark edip geri çekilme gibi bir yolu yoktur.
Ayrıca manuel ve durumsuzdur — gerçekte ne çalıştığını algılamaz, oturumlar arasında hafızası yoktur. Flag'leri ve hedef komutu her seferinde yeniden yazmanız gerekir.
Kapak kapalıyken bir MacBook'u uyanık tutmanın ücretsiz yolları
Apple'ın desteklediği yöntem hiçbir ek yazılım gerektirmez: harici bir ekran, harici bir klavye veya fare ve bir güç adaptörü bağlayın, MacBook kapak kapatmada uyumaz. Bu gerçek clamshell modudur ve üçü de bağlandığında macOS bunu doğal olarak yönetir — komut satırına gerek yoktur.
Harici bir ekran olmadan — bataryayla, kapak kapalı, monitör yokken — kapak kapatma uykusunu engelleyen tek herkese açık lever, caffeinate'ten tamamen farklı bir komuttur: sudo pmset -a disablesleep 1. İşe yarar, ama caffeinate'ten daha ağır bir araçtır. Admin şifresi gerektirir ve caffeinate'in assertion'ının aksine bir process çıktığında kendini serbest bırakmaz — siz açıkça sudo pmset -a disablesleep 0 çalıştırana ya da Mac'i yeniden başlatana kadar geçerli kalan, kalıcı, sistem geneli bir ayardır.
Komut satırının ötesinde, birkaç menü çubuğu uygulaması aynı temel fikri bir GUI'ye sarmalıyor. Amphetamine (ücretsiz, Mac App Store), aynı türden bir assertion'ın üzerine zengin tetikleyiciler ekliyor — uygulama açılışı, günün saati, Wi-Fi ağı, batarya seviyesi. KeepingYouAwake, esasen aynı caffeinate tarzı tutmanın ücretsiz, açık kaynak bir menü çubuğu arayüzü. Lungo, dahili bir zamanlayıcısı olan minimal, tek tıklamalı bir menü çubuğu anahtarı. Caffeine, tüm kategorinin adını aldığı klasik kahve fincanı simgeli anahtar; yıllar içinde hem ücretsiz hem ücretli sürümleri oldu. Hepsi tasarlandıkları tek iş konusunda sağlam — manuel, aç/kapa bir uyanık-tutma anahtarı — ve hiçbiri "gerçek iş hâlâ çalışıyor mu," "ne kadar batarya kaldı," ya da "bu Mac fazla mı ısındı" sorularına cevap verecek şekilde tasarlanmamış, çünkü bir uyanık-tutma anahtarının işi bu değil.
Manuel çözümdeki risk
disablesleep flag'i, dikkatli olunması gereken kısımdır. Global ve kalıcı olduğu için, onu 1'e ayarlayan script ya da oturum çökerse — ya da sadece reset komutunu unutursanız — biri 0 komutunu çalıştırana ya da Mac'i yeniden başlatana kadar Mac, kapak açık ya da kapalı, normal şekilde bir daha uyumaz. Kazara gece boyu açık bırakılması, önlenebilir gerçek bir batarya tüketimi ve bir laptop'ın alması gereken dinlenmeyi hiç almayan bir Mac demektir.
Kapak kapalıyken hesaplama çalıştırmak, Mac'in normal soğutma yolunun bir kısmını da ortadan kaldırır — klavye ve menteşe çevresindeki hava akışı, kısmen kapağın açık olmasına bağlıdır. Kapalı kapaklı bir Mac'i hangi yöntemle uyanık tutarsanız tutun, ısı yönetimini yalnızca yazılıma güvenmek yerine iyi havalandırılmış tutun — bir stand, açık bir çanta, başka eşyaların altına yığılmamış.
Yukarıdaki ücretsiz seçeneklerin hiçbiri — caffeinate, disablesleep flag'i ya da menü çubuğu anahtarları — asıl önemsediğiniz şeyin (build, ajan, render) hâlâ çalışıp çalışmadığına bağlı değildir. Mac'i bir zamanlayıcı ya da manuel bir anahtarla uyanık tutarlar; bu da ya onu sürekli takip etmeniz ya da işin gerçekte bittiği noktayı çoktan geçmiş halde uyanık, sıcak ve tükenmiş kalma riskini göze almanız anlamına gelir.
AI ve dev iş yükleri için daha güvenli bir kalıp
Çözüm farklı bir uyku-engelleme numarası değil — aynı mekanizmayı, bir zamanlayıcı yerine Mac'te gerçekte olup bitene bağlı korumalarla eşleştirmek. LidRun'ın Closed-Lid modu, gizli bir API değil, arka planda tam olarak aynı pmset -a disablesleep lever'ını kullanır — ama 1'i her zaman eşleşen bir 0 ile eşler: durdurmada, çıkışta ve bir çökmeden kalan eski bir 1 bulursa bir sonraki açılışta yeniden uzlaştırılır. Herkesin çevirebileceği bir lever ile kazara açık takılı kalamayan bir lever arasındaki fark budur.
Bunun üzerine, aptal bir zamanlayıcı yerine gerçek işi otomatik olarak algılar: Claude Code, Cursor, Codex, Aider, Cline, Ollama, LM Studio ve düzinelerce başka kodlama ajanı ile yerel model çalıştırıcısı, artı genel dev process'leri. Bir ajanın sadece var olmasını "çalışıyor" sayar, çünkü bir API yanıtını bekleyen bir kodlama ajanı, görev ortasında neredeyse sıfır CPU kullanımında oturabilir — sade bir CPU kullanım kontrolü bu duraklamayı yanlışlıkla "bitti" olarak okurdu.
Ayrıca her oturumu, caffeinate'in tamamen göz ardı ettiği iki şeye bağlar. Yapılandırılabilir bir batarya otomatik-durdurması — varsayılan %20 — batarya tehlikeli şekilde düşmeden önce oturumu bitirir, ve müzakere edilemez bir acil durum eşiği — varsayılan %4, %8'e kadar ayarlanabilir — başka ne ayarlanmış olursa olsun Mac'i korumak için zorla uyutur. Bir termal koruma, ısıyı takip eden çoğu araç varsa dayanacağı kaba sistem termal bayrağı yerine, gerçek çip sıcaklığını ve CPU'nun termal-kısma sinyalini okur, ve Mac gerçekten aşırı ısınıyorsa Closed-Lid modunu otomatik olarak devre dışı bırakır. Kör bir uyanıklık kilidi değildir — ikisi çakıştığında güvenlik rahatlığa üstün gelir.
Bu kalıbın dürüst hali kısa: ajan çalışıyor → uyanık kal; ajan bitti, ya da Mac'i çalışır tutmak güvenli değil → serbest bırak ve uyumasına izin ver. Keep Awake, Timer ve yalnızca-şarjda modları sonsuza dek ücretsiz çalışır, deneme süresi ya da oturum sınırı yok. Closed-Lid desteği, karar vermeden önce denemek için birkaç ücretsiz Closed-Lid çalıştırmasıyla birlikte ücretli Pro katmanının bir parçasıdır.
LidRun, işinizi kapak kapalıyken, pil ve sıcaklık koruması yerleşik biçimde çalışır tutar.
LidRun zaten sizde mi? Kurulum rehberini okuyun →
LidRun'u yeni mi tanıdınız? Fiyatlara bakın →
Sık sorulanlar
Hayır — caffeinate'in assertion'ları macOS'un kapak kapatmada tetiklediği uykuyu geçersiz kılmaz. Gerçek clamshell modunda (harici ekran, klavye ve güç hepsi bağlı) olmadıkça ya da pmset ile disablesleep ayarlanmadıkça, caffeinate çalışıyor olsa bile kapak kapalıyken MacBook yine uyur.
-t flag'ini saniye cinsinden bir sayıyla kullanın, örneğin bir saat için caffeinate -t 3600. Süre dolduğunda caffeinate kendiliğinden çıkar ve assertion'ı serbest bırakır — Ctrl-C'ye gerek yoktur.
Evet — komutu doğrudan sarmalayın, caffeinate -i npm run build gibi. Mac yalnızca o komut çalışırken uyanık kalır ve assertion çıktığı anda serbest kalır. caffeinate -w <pid>, kendiniz başlatmadığınız bir process için aynı işi yapar.
Her aktif güç assertion'ını ve onu kimin tuttuğunu görmek için pmset -g assertions çalıştırın — caffeinate'in PID'sinin yanında PreventUserIdleSystemSleep'i arayın. Sadece process'in canlı olduğunu doğrulamanız yeterliyse ps aux | grep caffeinate de işe yarar.
caffeinate yalnızca boşta uykuyu ve yalnızca process'i çalışırken engeller — kapak kapatma uykusunu geçersiz kılamaz ve çıktığında kendini otomatik olarak serbest bırakır. sudo pmset -a disablesleep 1, clamshell (kapak kapalı) uykuyu da engelleyen farklı, daha ağır bir lever'dır, ama global ve kalıcıdır: siz açıkça 0'a geri ayarlayana ya da yeniden başlatana kadar sistem genelinde açık kalır, bu yüzden kazara açık bırakmak kolaydır.
Kısa, izlediğiniz terminal oturumları için caffeinate gerçekten yeterlidir. Closed-Lid ya da gözetimsiz AI/dev çalıştırmaları için LidRun, aynı temel fikrin üzerine otomatik ajan algılama ve Closed-Lid desteğini katmanlar, batarya ve termal otomatik-durdurma ile birlikte — böylece iş gerçekten bittikten sonra Mac uyanık, sıcak ve tükenen halde kalmaz.