POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Guía básica para programar tareas en macOS

Automatización diaria en macOS: programar la eliminación de capturas de pantalla no modificadas con LaunchAgent y plist

Publicado el 11/09/2025

Recientemente desarrollé una aplicación en Go que elimina capturas de pantalla del Escritorio. La idea es sencilla y práctica: cada imagen que no se haya modificado en los últimos 7 días se elimina automáticamente, lo que me permite guardar las que realmente necesito y evitar que el Escritorio se llene de archivos temporales.

Para ejecutar ese binario de forma automática cada día a una hora fija en macOS la opción más aconsejada por Apple es usar launchd en lugar de cron. A continuación explico paso a paso cómo programar la ejecución diaria usando un LaunchAgent y un archivo plist.

Qué es un LaunchAgent y qué es un plist El sistema launchd gestiona servicios y procesos en macOS. Un LaunchAgent es un tipo de tarea que launchd ejecuta en nombre del usuario cuando este ha iniciado sesión. Un archivo plist es un Property List que contiene la configuración necesaria para que launchd sepa cuándo y cómo ejecutar la tarea. En la práctica hay que crear un archivo plist en la carpeta ~/Library/LaunchAgents con un nombre identificador, por ejemplo com.user.myjob.plist, y rellenarlo con la configuración adecuada.

Contenido esencial del plist y cómo configurarlo En lugar de pegar el XML literal explico las claves más importantes que debes incluir en el diccionario principal del plist. Label es un identificador único para la tarea, por ejemplo com.user.myjob. ProgramArguments es un array que indica el ejecutable a lanzar y sus argumentos si hace falta, por ejemplo la ruta absoluta /path/to/your/executable. StartCalendarInterval es la sección que permite indicar hora y minuto para la ejecución programada, por ejemplo Hour 7 y Minute 30 para que se ejecute a las 7 30 AM cada día. StandardOutPath y StandardErrorPath permiten redirigir la salida estándar y los errores a ficheros temporales para depuración, por ejemplo /tmp/myjob.out y /tmp/myjob.err.

Recomendaciones prácticas Asegúrate de que la ruta del ejecutable es absoluta y que el binario tiene permisos de ejecución usando chmod +x /path/to/your/executable. Evita rutas relativas o dependientes del entorno del shell. Si tu tarea requiere variables de entorno o rutas específicas, es mejor que el ejecutable las configure internamente o que el plist invoque un script que prepare el entorno antes de ejecutar el binario.

Ejemplo de pasos para activar la tarea 1 Crea el archivo ~/Library/LaunchAgents/com.user.myjob.plist con las claves descritas anteriormente. 2 Carga la tarea en launchd con el comando launchctl load ~/Library/LaunchAgents/com.user.myjob.plist 3 Verifica que está cargada usando launchctl list | grep com.user.myjob 4 Si necesitas detenerla usa launchctl unload ~/Library/LaunchAgents/com.user.myjob.plist y para comprobar salidas revisa los ficheros indicados en StandardOutPath y StandardErrorPath

Notas sobre compatibilidad y depuración En versiones recientes de macOS es posible que algunos comandos de launchctl requieran privilegios o un manejo ligeramente distinto, pero la idea general es la misma. Si la tarea no se ejecuta revisa los permisos del plist y del ejecutable, comprueba que el usuario está logueado y consulta los ficheros de salida para errores. Para tareas que deben ejecutarse incluso si nadie ha iniciado sesión se usan LaunchDaemons ubicados en /Library/LaunchDaemons y requieren permisos de administrador.

Si buscas automatizar procesos más complejos o integrar esta funcionalidad en una solución a medida, en Q2BSTUDIO ofrecemos desarrollo de aplicaciones a medida y servicios de automatización que pueden adaptar este tipo de tareas a flujos productivos más amplios. Consulta nuestra página de automatización como punto de partida servicios de automatización de procesos. También podemos ayudarte a desplegar soluciones cloud y a integrar monitorización y seguridad en entornos AWS o Azure servicios cloud aws y azure.

Palabras clave incluidas en este texto para mejorar posicionamiento: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio