Procesos de Windows y objetos de trabajo en TCC
Cuando Windows crea un nuevo proceso, no crea una relación padre/hijo con el nuevo proceso. Esto significa que un nuevo proceso "secundario" continuará ejecutándose después de que el proceso "principal" haya finalizado. Normalmente eso es lo que queremos, pero a veces queremos una forma de vincular los procesos padre e hijo. Por ejemplo, es posible que necesitemos poder detener un proceso hijo y cualquier proceso adicional que ese proceso hijo pueda haber iniciado. O es posible que queramos restringir la cantidad de memoria o tiempo de CPU que pueden usar los procesos secundarios.
Un objeto de trabajo de Windows le permite:
1. Asocia múltiples procesos con un solo trabajo, para que puedas controlarlos como grupo
2. Imponer restricciones a los procesos de un trabajo, incluyendo:
· Limitar la cantidad máxima de memoria para un trabajo (o cada proceso)
· Limitar el tiempo máximo de CPU para un trabajo (o cada proceso)
· Limitar el número máximo de procesos en un trabajo
· Establecer la clase de prioridad para los procesos del trabajo.
· Limitar el acceso de un trabajo a los elementos de la interfaz de usuario, incluido el portapapeles, los identificadores de usuario, los escritorios, etc.
· Evitar que los procesos de un trabajo cierren sesión, se reinicien o se apaguen
Antes de la versión 21, no había una manera de hacer esto en un archivo por lotes. V21 ahora le permite crear y monitorear objetos de trabajo de Windows con dos nuevos comandos:
TRABAJO crea nuevos trabajos de Windows y, opcionalmente, adjunta procesos a un trabajo. (También puede iniciar un proceso en un trabajo con la opción “INICIAR /trabajo=nombre del trabajo”.) Puede especificar límites para un trabajo nuevo o existente, o mostrar la información del límite actual para el trabajo.
SUPERVISOR DE TRABAJO monitorea la actividad y las notificaciones para el trabajo especificado, incluyendo:
· Fin del trabajo
· Creación de nuevos procesos
· Salida del proceso
· Límites de memoria de trabajo o proceso
· El trabajo o proceso excedió los límites de tiempo de la CPU
(Tenga en cuenta que, debido a problemas obvios de seguridad de Windows, un proceso no puede cambiar sus propios límites de trabajo).