¿Qué es una capa de ejecución segura para Mac?

Una capa de ejecución segura para trabajos de IA en Mac es un sistema que mantiene el equipo despierto, pero que además vigila batería, calor y estado del proceso — y deja que el Mac vuelva a dormir automáticamente en cuanto la tarea termina o se cruza un límite de seguridad. Es el punto medio entre dos malas opciones: dejar que el Mac se duerma a mitad de una ejecución del agente y perder el trabajo, o forzarlo a quedarse despierto toda la noche con la esperanza de que nada salga mal. LidRun está construido exactamente sobre este patrón — agente corriendo → se mantiene despierto; agente terminado o inseguro → se libera, el Mac duerme — pensado para ejecuciones largas de IA y desarrollo en macOS 13 (Ventura) en adelante.
Qué hace en realidad una capa de ejecución segura
Una capa de ejecución segura combina tres cosas: una assertion que mantiene el equipo despierto, monitoreo activo y un disparador de liberación automática. La parte de la assertion es la mitad fácil — cualquier herramienta puede llamar a IOPMAssertionCreateWithName y sostener un bloqueo kIOPMAssertionTypePreventUserIdleSystemSleep; macOS simplemente obedece. La mitad difícil es decidir cuándo debe soltarse ese bloqueo: cuando la batería baja demasiado, cuando el chip se calienta, cuando el trabajo que justificaba mantenerse despierto en realidad ya terminó.
LidRun es una implementación de este patrón. Sostiene esa assertion, rastrea el porcentaje de batería y el estado de corriente/batería, lee la señal térmica de macOS y vigila el estado del proceso — y libera la assertion en cuanto se cruza un umbral configurado. El Mac se duerme cuando debe, siguiendo una regla que tú (o sus valores por defecto) definieron — no por suerte, y no nunca.
Ajusta la necesidad al trabajo. Una compilación de 20 minutos en un Mac de escritorio conectado a la corriente casi no necesita nada de esto — el sueño nunca se activaría de todas formas. Una ejecución de seis horas de un agente de IA en una laptop que funciona con batería, que puede calentarse, que puede desconectarse, y que nadie está vigilando a las 2am, es una situación completamente distinta — y es justo para la que está pensado este patrón.
Por qué tu Mac se duerme a mitad de una ejecución, para empezar
macOS no sabe distinguir entre 'no está pasando nada' y 'un proceso de agente en segundo plano lleva 40 minutos pensando en silencio sin ninguna entrada de teclado o mouse'. Para el temporizador de suspensión por inactividad, ambos casos se ven idénticos — y ese temporizador existe justamente para ahorrar batería en ese tipo de inactividad. Dejado con sus valores por defecto, se va a activar a mitad de la ejecución.
Cerrar la tapa es un disparador aparte, y más agresivo. Sin un monitor externo conectado — o sin algo que le indique explícitamente a macOS que ignore el sensor de la tapa — cerrarla duerme el Mac casi de inmediato, sin importar qué siga corriendo por debajo.
Y si ninguno de los dos lo atrapa antes, un Mac dejado sin supervisión con batería eventualmente llega a su propio apagado por batería baja, casi vacío — no es una detención limpia, es simplemente el estado en el que haya quedado el trabajo cuando se acabó la energía.
Guía relacionadaEl gobernador de seguridad para mantener la Mac despierta: por qué LidRun deja dormir a una Mac caliente o inactivaLa solución gratuita ya incluida: caffeinate y pmset
macOS ya trae una respuesta real para el primer caso. caffeinate -i python train.py envuelve un comando, sostiene una assertion que evita el sueño por inactividad exactamente mientras ese comando corre, y la libera automáticamente en cuanto el comando termina — sin instalar nada, sin configurar nada. El propio wrapper de CLI de LidRun toma prestada esta misma forma: lidrun -- python train.py --epochs 100 envuelve un comando de manera idéntica; la diferencia está en qué hace LidRun con ese bloqueo mientras está activo, que se explica más abajo.
Para el caso de la tapa cerrada, el camino gratuito es sudo pmset -a disablesleep 1 con un monitor externo conectado — el truco clásico del modo clamshell — y después sudo pmset -a disablesleep 0 para desactivarlo cuando termines. Es el mismo ajuste que usa por debajo el propio modo Closed-Lid de LidRun; la diferencia es que LidRun siempre empareja el 1 con un 0 correspondiente, al detener, al salir, y otra vez en el siguiente arranque, para resolver cualquier cosa que haya quedado suelta tras un cierre inesperado.
Ambas son opciones legítimas, y para trabajos cortos y supervisados con el Mac conectado a la corriente, cualquiera de las dos suele ser todo lo que realmente necesitas. No busques más herramienta de la que el trabajo pide.
Dónde se le acaba el camino a la solución gratuita
caffeinate no tiene ni idea de qué está haciendo tu batería. Envuelve un trabajo de varias horas, aléjate, y si la batería baja a 2% a las 3am, caffeinate sigue sosteniendo la assertion — nunca fue diseñado para saber que debía soltarla.
pmset disablesleep es más riesgoso en un sentido específico: es un ajuste de sistema global y persistente, no algo limitado a una sesión. Necesita sudo. Y no se revierte solo a 0 — si lo que lo activó se cierra de golpe, o simplemente se te olvida, el Mac queda atascado negándose a dormir, drenando la batería en silencio, hasta que alguien corre el comando de reversión a mano.
Ninguna de las dos herramientas lee la presión térmica. Ninguna sabe si el proceso que justificaba el bloqueo sigue haciendo trabajo útil o se colgó en silencio. Sostienen; no vigilan. Esa brecha — que no es un defecto de ninguna de las dos, simplemente queda fuera de lo que fueron diseñadas para hacer — es lo que una capa de ejecución segura agrega encima.
Las tres señales que una capa de ejecución segura realmente vigila
El estado de la batería es escalonado, no un solo corte. Los valores por defecto de LidRun: por debajo de 15% desconectado, una notificación de aviso; por debajo de 5%, una advertencia más fuerte; por debajo de aproximadamente 4% — un piso duro que no se puede configurar por debajo de 4% sin importar tus ajustes — LidRun libera todos los bloqueos de keep-awake y le pide al Mac que se duerma, en vez de dejar que se apague de golpe a mitad de una escritura. Ese piso existe para dejarle a macOS suficiente margen para escribir su estado en disco y dormirse de forma limpia.
La señal térmica se lee de ProcessInfo.thermalState — una API pública (nominal / fair / serious / critical), sin ningún permiso especial, disponible desde macOS 12. Es la señal que en realidad impulsa la decisión de detenerse automáticamente. Aunque puede ir por detrás de la realidad: en las propias pruebas de LidRun reportó 'fair' mientras un Mac metido en una mochila ya había bajado su rendimiento a 24% por throttling. Por eso, en otros casos — en los Mac donde el sensor SMC se puede leer — LidRun también cruza la temperatura real del SoC y el porcentaje de throttle de CPU contra umbrales calibrados, como una segunda opinión que el indicador genérico del sistema por sí solo no siempre puede dar. Cuando el SoC sí llega a 'critical', LidRun libera el bloqueo de inmediato; si se mantiene en critical durante dos minutos mientras llevas cinco minutos o más sin tocar el teclado, o la tapa está físicamente cerrada, LidRun escala hasta dormir el Mac de verdad, ya que un Mac conectado a la corriente no necesariamente se duerme solo por inactividad.
El estado del proceso ata el bloqueo al trabajo mismo. Auto Mode vigila un proceso específico — una sesión de Claude Code, un agente de Cursor, un build — y libera en cuanto el último proceso vigilado termina. Por debajo de eso, un Safety Governor independiente puede liberar cualquier sesión de keep-awake, incluso una iniciada a mano, si el Mac está con batería, sin conexión, y no ha mostrado ninguna carga de trabajo activa confirmada durante 15 minutos, o queda inactivo sin carga de trabajo confirmada durante 20 minutos. Está diseñado deliberadamente para fallar seguro en un solo sentido: esas liberaciones se disparan sobre una ausencia CONFIRMADA de trabajo, nunca sobre un estado desconocido — una versión anterior también liberaba en 'desconocido', y eso durmió el Mac a mitad de una ejecución de Claude Code; ahora es una regla aprendida a la fuerza, no una suposición.
Lo que una capa de ejecución segura no hace
No reduce el consumo real de batería. Mantener un Mac despierto y corriendo siempre cuesta más energía que dejarlo dormir — eso es cierto para cualquier herramienta de keep-awake, LidRun incluido. El punto no es consumo cero; el sueño sigue siendo el estado más eficiente en el que puede estar un Mac. El punto es que la ejecución se detiene en un piso que alguien eligió, en vez de un drenaje sin supervisión hasta 0%.
No rescata un proceso colgado. Auto Mode y el wrapper de CLI liberan cuando el proceso termina, no cuando 'dejó de avanzar'. Un script que está congelado pero no se cerró de golpe sigue leyéndose como corriendo. Para un trabajo largo sin supervisión, combina la vigilancia de proceso con un piso de batería o un temporizador como respaldo — no confíes solo en la vigilancia de proceso para notar que algo realmente anda mal.
Y no controla el enfriamiento. Desde el punto de vista de esta capa, la señal térmica es de solo lectura: puede decidir dejar de sostener el Mac despierto para que macOS limite el rendimiento y se enfríe, pero — en Apple Silicon en particular — no puede subir la velocidad de los ventiladores para enfriar la máquina más rápido. Mantén el Mac en un lugar ventilado; una capa de ejecución segura es una barrera de seguridad sobre cuándo detenerse, no un sustituto de la ventilación.
Capa de ejecución segura vs. caffeinate vs. Amphetamine vs. pmset
caffeinate viene incluido con macOS, envuelve un comando, y sostiene una power assertion por una duración fija o hasta que un proceso hijo termina. Por diseño no tiene ninguna noción de batería, temperatura o conexión — nunca fue su trabajo. Para tareas cortas y supervisadas con el Mac conectado a la corriente, hace exactamente lo que promete.
pmset disablesleep es la única vía gratuita para tener un Mac de verdad con la tapa cerrada y un monitor externo. Es un ajuste tosco, de todo el sistema, que solo un administrador puede tocar, y sin ningún concepto de sesión — no sabe qué lo activó, y no se va a desactivar solo.
Amphetamine es una app de barra de menú muy pulida, con horarios, disparadores y listas de apps permitidas — puede iniciar y detener sesiones según la hora del día o qué app está en primer plano. Lo que no hace es vigilar el porcentaje de batería en vivo como barrera de seguridad, ni responder a la presión térmica de macOS a mitad de sesión; eso simplemente queda fuera de lo que fue diseñada para rastrear.
Una capa de ejecución segura agrega la capa de vigilancia encima de cualquiera de estas: piso de batería, señal térmica, salida de proceso, y las comprobaciones de conexión/sin supervisión, todo alimentando la decisión de si el bloqueo sigue activo. Para un build de 20 minutos con el Mac conectado, caffeinate o Amphetamine son genuinamente suficientes — no busques más. El patrón se gana su lugar en ejecuciones largas y sin supervisión, en hardware que puede cambiar de estado — batería, calor, red — de maneras que nadie está vigilando en tiempo real.
Dónde encaja LidRun
Keep Awake, Timer y Charging-Only son gratis en LidRun — sin límite, sin prueba, sin tope de sesiones — y ya corren el ciclo central: sostener la assertion, vigilar la escalada gradual de batería (15% / 5% / ~4%), leer la señal térmica, detenerse automáticamente ante cualquiera de las dos. Esa es la capa de ejecución segura base, disponible desde la instalación.
Auto Mode (que ata el bloqueo a un proceso vigilado como Claude Code o Cursor) y el modo Clamshell de tapa cerrada son parte de Pro, junto con la posibilidad de mover los umbrales de batería y térmicos por defecto en vez de usar los valores integrados de LidRun.
Si tu trabajo cabe en el carril gratuito — una sola sesión de keep-awake, conectado a la corriente o vigilado a mano — con eso genuinamente te alcanza; úsalo. Si se trata de una ejecución de agente de varias horas sin supervisión, atada a un proceso específico, o si la tapa necesita quedarse cerrada, ahí es donde el resto del patrón (y el nivel de pago) empieza a justificarse. Consulta el desglose de precios, o lee cómo el Safety Governor decide liberar una sesión que no inició él, para entender el mecanismo detrás de todo esto.
LidRun mantiene tu trabajo en marcha con la tapa cerrada, con protección de batería y temperatura integrada.
¿Ya tienes LidRun? Lee la guía de configuración →
¿Nuevo en LidRun? Consulta los precios →
Preguntas frecuentes
Es un sistema que mantiene el equipo despierto, pero que además vigila batería, calor y estado del proceso, y suelta el control automáticamente — ya sea cuando la tarea termina o cuando se cruza un umbral de seguridad configurado. Es la combinación de bloqueo más vigilancia más detención automática, no un simple wake lock que se sostiene indefinidamente sin importar lo que realmente esté pasando en la máquina.
No en el sentido completo. caffeinate -i <command> sostiene una power assertion y la libera cuando el comando envuelto termina, pero nunca revisa el porcentaje de batería ni lee la señal térmica de macOS mientras corre. Para tareas cortas y supervisadas con el Mac conectado a la corriente, es una opción sólida y legítima. Para una ejecución de varias horas sin supervisión, deja la máquina desprotegida justo en las señales que importan durante la noche.
Sí — correr y sostener una assertion siempre consume más energía que el modo de sueño; ninguna herramienta de keep-awake cambia eso. El objetivo de una capa de ejecución segura no es consumo cero, es consumo supervisado: la sesión se detiene en un piso de batería en vez de correr sin supervisión hasta 0% y un apagado forzado.
La vigilancia de proceso (Auto Mode, o el lidrun -- <command> de la CLI) libera cuando el proceso termina — un proceso colgado pero que no se cerró de golpe sigue contando como corriendo, así que el bloqueo se mantiene activo. Para trabajos largos sin supervisión, combina la vigilancia de proceso con un piso de batería o un temporizador como respaldo, en vez de confiar solo en ella para notar un estancamiento.
El porcentaje de batería y el estado de corriente/batería (escalonado: 15% aviso, 5% advertencia fuerte, ~4% piso duro que siempre libera todos los bloqueos), la señal térmica de macOS (nominal/fair/serious/critical, cruzada con la temperatura real del SMC donde el sensor se puede leer), y — cuando Auto Mode o el wrapper de CLI están activos — si el proceso que disparó la sesión sigue corriendo. Un Safety Governor independiente también puede liberar una sesión sin carga de trabajo activa confirmada después de 15 a 20 minutos con batería, pero nunca sobre un estado desconocido.
Cuando macOS reporta el SoC en "critical", LidRun libera el bloqueo de keep-awake de inmediato. Si el estado crítico se mantiene durante dos minutos mientras llevas cinco minutos o más sin tocar el teclado, o la tapa está físicamente cerrada, LidRun escala hasta dormir el Mac de verdad, ya que puede que no se duerma solo por inactividad estando conectado a la corriente. Esto ayuda a reducir el riesgo de un throttle prolongado; no evita toda acumulación de calor ni promete un límite de temperatura específico — mantén el Mac ventilado.
Sí, en ambas familias de chip. LidRun apunta a macOS 13 (Ventura) en adelante; tanto la señal térmica (ProcessInfo.thermalState) como la API de power assertion están disponibles en Intel y en todas las generaciones de Apple Silicon. El cruce con la temperatura real del SMC depende de lo que exponga el sensor de cada Mac en particular, que varía según el modelo.