¿Cómo pongo aplicaciones individuales de Mac en modo de suspensión?

Cuando su Mac duerme, pone todas las aplicaciones en modo de suspensión. Esto los desconecta de Internet y detiene el procesamiento para conservar la energía cuando no se necesita energía.

Me gustaría poder hacer lo mismo con mis aplicaciones abiertas mientras uso activamente mi Mac (específicamente las pesadas que tardan mucho en iniciarse, que son, por cierto, las que absorben recursos mientras están en segundo plano). ).

Si hay un conjunto de comandos de terminal o una aplicación de terceros que pueda lograr esto, lo encontraría increíblemente útil para conservar la vida útil de la batería y la carga de la CPU durante el día.

Si una aplicación no hace nada, entonces no debería estar usando la CPU; si está usando la CPU, entonces está haciendo algo y detenerla podría causar un problema más adelante. ¿Qué aplicaciones están usando recursos que dices que están absorbiendo recursos?
Poner mi Mac a dormir no causa ningún problema para las aplicaciones al volver a despertar. No veo por qué hacer lo mismo en un nivel más enfocado debería causar problemas. Un buen ejemplo de una aplicación para la que usaría esto sería un iniciador de Minecraft modificado. Dependiendo del número de mods y sus tamaños, puede tardar más de media hora en iniciarse. Después de ese punto, querrá mantenerlo en segundo plano para no tener que volver a iniciarlo, pero puede ser increíblemente intensivo para la CPU incluso en el menú principal.
Las aplicaciones deberían estar durmiendo de todos modos si no les has dicho que hagan nada. No deberían usar la CPU a menos que les haya dado instrucciones o que tengan una razón para hacer algo. El único recurso que deberían usar es la memoria y eso se puede intercambiar
Podría considerar el uso de contenedores u otras formas de virtualización, son perfectos para este tipo de casos de uso.

Respuestas (1)

No debería necesitar hacer esto en un sistema con buen comportamiento. Si tiene problemas específicos con ciertas aplicaciones, publique preguntas separadas para cada una de ellas para que podamos encontrar formas específicas de hacer que se comporten mejor.

Sin embargo, es fácil suspender y reanudar cualquier proceso:

  1. Determine el PID (ID de proceso) de la aplicación que desea suspender. Puede hacerlo a través de Activity Monitor, ps, topo cualquier método que desee.

  2. Envía un SIGSTOPa ese proceso. Esto suspenderá el proceso para que no obtenga tiempo de CPU. Por ejemplo, si el PID es 12345,

    kill -STOP 12345

  3. Cuando desee reanudar el uso de la aplicación, envíele un SIGCONT:

    kill -CONT 12345

También puede usar killallpara especificar un proceso por nombre en lugar de PID. Tenga en cuenta que, de forma predeterminada, esto enviará esa señal a cualquier proceso de su propiedad que coincida con el nombre del proceso. Ver man killallpara más detalles.