Direkt zum Inhalt

Windows-Prozesse und Jobobjekte in TCC

Wenn Windows einen neuen Prozess erstellt, stellt es keine übergeordnete/untergeordnete Beziehung mit dem neuen Prozess her. Dies bedeutet, dass ein neuer „untergeordneter“ Prozess weiterhin ausgeführt wird, nachdem der „übergeordnete“ Prozess beendet wurde. Normalerweise wollen wir das – aber manchmal wollen wir eine Möglichkeit, die übergeordneten und untergeordneten Prozesse miteinander zu verknüpfen. Beispielsweise müssen wir möglicherweise in der Lage sein, einen untergeordneten Prozess und alle weiteren Prozesse, die dieser untergeordnete Prozess gestartet hat, zu stoppen. Oder wir möchten möglicherweise die Menge an Speicher oder CPU-Zeit einschränken, die die untergeordneten Prozesse nutzen können.

Mit einem Windows-Jobobjekt können Sie Folgendes tun:

1. Verknüpfen Sie mehrere Prozesse mit einem einzigen Job, sodass Sie sie als Gruppe steuern können

2. Einschränkungen für die Prozesse eines Jobs festlegen, einschließlich:

· Begrenzen Sie die maximale Speichermenge für einen Job (oder jeden Prozess)

· Begrenzen Sie die maximale CPU-Zeit für einen Job (oder jeden Prozess)

· Begrenzen Sie die maximale Anzahl von Prozessen in einem Job

· Legen Sie die Prioritätsklasse für die Prozesse des Jobs fest

· Beschränken Sie den Zugriff eines Jobs auf UI-Elemente, einschließlich der Zwischenablage, Benutzerhandles, Desktops usw.

· Verhindern Sie, dass sich die Prozesse eines Jobs abmelden, neu starten oder herunterfahren

Vor v21 gab es keine Möglichkeit, dies in einer Batchdatei zu tun. Mit V21 können Sie jetzt Windows-Jobobjekte mit zwei neuen Befehlen erstellen und überwachen:

JOBS erstellt neue Windows-Jobs und hängt optional Prozesse an einen Job an. (Sie können einen Prozess in einem Job auch mit der Option „START /job=jobname“ starten.) Sie können Grenzwerte für einen neuen oder vorhandenen Job angeben oder die aktuellen Limitinformationen für den Job anzeigen.

JOBMONITOR überwacht Aktivitäten und Benachrichtigungen für den angegebenen Job, einschließlich:

· Ende des Auftrags

· Neue Prozesserstellung

· Prozessausgang

· Job- oder Prozessspeichergrenzen

· Job oder Prozess haben die CPU-Zeitlimits überschritten

(Beachten Sie, dass ein Prozess aufgrund offensichtlicher Windows-Sicherheitsprobleme seine eigenen Joblimits nicht ändern kann.)