Bedingungen für Den Vorgang im Leerlauf
Eine Aufgabe kann auf verschiedene Arten behandelt werden, wenn der Computer in den Leerlaufzustand wechselt. Dazu gehört das Definieren eines Leerlauftriggers oder festlegen der Leerlaufbedingungen für den Start des Vorgangs.
Erkennen des Leerlaufzustands
In Windows 7 überprüft der Taskplaner alle 15 Minuten, ob sich der Computer im Leerlauf befindet. Der Vorgangsplaner sucht anhand von zwei Kriterien nach einem Leerlaufstatus: Benutzerabwesenheit und fehlender Ressourcenverbrauch. Der Benutzer gilt als nicht vorhanden, wenn während dieses Zeitraums keine Tastatur- oder Mauseingabe vorhanden ist. Der Computer wird als Leerlauf betrachtet, wenn alle Prozessoren und alle Datenträger für mehr als 90% des letzten Erkennungsintervalls im Leerlauf waren. (Eine Ausnahme wäre für jede Präsentationstypanwendung, die das ES_DISPLAY_REQUIRED Flag festlegt. Diese Kennzeichnung erzwingt, dass der Vorgangszeitplan das System unabhängig von der Benutzeraktivität oder ressourcennutzung nicht als leer hält.)
In Windows 7 betrachtet der Taskplaner einen Prozessor als im Leerlauf, auch wenn Threads mit niedriger Priorität (Threadpriorität < normal) ausgeführt werden.
Wenn der Taskplaner in Windows 7 erkennt, dass der Computer im Leerlauf ist, wartet der Dienst nur auf Benutzereingaben, um das Ende des Leerlaufzustands zu markieren.
In Windows 8 führt der Vorgangsplaner die gleichen allgemeinen Benutzerabwesenheits- und Ressourcenverbrauchsprüfungen durch. Task Scheduler basiert jedoch auf dem Betriebssystem-Energiesubsystem, um die Benutzerpräsenz zu erkennen. Standardmäßig gilt der Benutzer nach vier Minuten ohne Tastatur- oder Mauseingabe als nicht vorhanden. Die Überprüfungszeit für den Ressourcenverbrauch wird auf 10 Minuten verkürzt, wenn der Benutzer vorhanden ist. Wenn der Benutzer abwesend ist, wird die Überprüfungszeit auf 30 Sekunden verkürzt. Der Vorgangsplaner überprüft zusätzliche Ressourcenverbrauchsprüfungen für die folgenden Ereignisse:
- Der Anwesenheitsstatus des Benutzers wurde geändert.
- Ac/DC-Stromquelle geändert
- Akkustand geändert (nur bei Akkus)
Wenn eines der oben genannten Ereignisse auftritt, testet der Taskplaner den Computer auf Leerlauf seit der letzten Überprüfungszeit. In der Praxis bedeutet dies, dass der Taskplaner das System sofort im Leerlauf deklarieren kann, nachdem die Abwesenheit des Benutzers erkannt wurde, wenn die anderen Bedingungen seit dem letzten Überprüfungszeitpunkt erfüllt wurden.
In Windows 8 werden die CPU- und E/A-Schwellenwerte auf 80%festgelegt.
Beim Erkennen des Leerlaufzustands in Windows 8 Server berücksichtigt der Taskplaner nicht die Anwesenheit oder Abwesenheit des Benutzers. Um das Ende des Leerlaufzustands zu markieren, überprüft der Vorgangsplaner den Ressourcenverbrauch einmal in 90 Minuten.
Definieren eines Leerlauftriggers
Eine Aufgabe kann gestartet werden, wenn der Computer in einen Leerlaufzustand wechselt, indem ein Leerlauftrigger definiert wird.
Ein Leerlauftrigger löst nur eine Vorgangsaktion aus, wenn der Computer nach der Startgrenze des Triggers in einen Leerlaufzustand wechselt.
Eine Anwendung kann einen Leerlauftrigger mithilfe der IIdleTrigger Schnittstelle definieren.
Beim Lesen oder Schreiben von XML wird der Leerlauftrigger durch das IdleTrigger- Element des Task Scheduler-Schemas angegeben.
Vorgangseinstellungen für Leerlaufbedingungen
Die Vorgangseinstellungen können verwendet werden, um zu definieren, wie der Taskplaner den Vorgang verarbeitet, wenn der Computer in den Leerlaufzustand wechselt.
Die folgenden Abbildungen enthalten drei mögliche Zeitachsen, die zeigen, wie diese unterschiedlichen Leerlaufbedingungen miteinander zusammenhängen. Beachten Sie, dass die Abbildungen beginnen, wenn der Vorgangstrigger aktiviert wird oder wenn der Vorgang bei Bedarf gestartet wird (ohne die vorhandenen Vorgangseinschränkungenignorieren).
Anmerkung
Die einstellungen Duration and WaitTimeout sind veraltet. Sie sind weiterhin auf der Benutzeroberfläche des Taskplaners vorhanden, und ihre Schnittstellenmethoden geben möglicherweise weiterhin gültige Werte zurück, sie werden jedoch nicht mehr verwendet.
In der folgenden Liste werden die Leerlaufbedingungen beschrieben.
- Leerlaufstart: Der Zeitpunkt, zu dem der Computer in den Leerlaufzustand wechselt.
- Leerlauf: Der Zeitpunkt, zu dem der Computer aus dem Leerlaufzustand wechselt. Beachten Sie, dass die Zeitspanne, die der Computer im Leerlaufzustand hat, unabhängig von der zuvor beschriebenen Leerlaufzeit ist.
Leerlaufwartezeit und Leerlaufdauer sind veraltet.
- Leerlaufwartezeit: Die Zeitspanne, die der Aufgabenplaner auf einen Leerlaufzustand wartet, nachdem ein Vorgangstrigger aktiviert wurde oder nachdem der Vorgang bei Bedarf gestartet wurde.
- Leerlaufdauer: Die Zeitspanne, die der Computer im Leerlauf war, bevor der Vorgang gestartet wird.
Wenn beispielsweise eine Aufgabe so eingestellt ist, dass sie nur gestartet wird, wenn der Computer 30 Minuten im Leerlauf ist und die Aufgabe 10 Minuten im Leerlauf wartet, wird die Aufgabe in 5 Minuten nur gestartet, wenn der Computer 25 Minuten vor der Aktivierung des Triggers im Leerlauf war. Die Aufgabe wird nicht gestartet, wenn der Computer 5 Minuten nach dem Aktivieren des Triggers in den Leerlaufzustand wechselt.
Standardmäßig ist eine Aufgabe DisallowStartIfOnBatteries -Eigenschaft auf "true" festgelegt. Das bedeutet, dass der Task Scheduler-Dienst keine Aufgaben ausführt, die durch einen Leerlauftrigger (oder einen Trigger mit Leerlaufbedingungen) ausgelöst werden, wenn ein Computer mit Akkubetrieb ausgeführt wird. Sie können dieses Verhalten ändern, indem Sie die "DisallowStartIfOnBatteries" Eigenschaft auf "false" festlegen.
Wenn eine Aufgabe durch einen Leerlauftrigger ausgelöst wird, wird die WaitTimeout-eigenschaft der IIdleSettings-Schnittstelle (IdleSettings für Skripting) ignoriert.
Anwendungen können die Leerlaufbedingungen steuern, indem sie die Eigenschaften in den IIdleSettings- und IIdleTrigger- Schnittstellen festlegen.
Beim Lesen oder Schreiben von XML werden diese Bedingungen im Settings Element des Task Scheduler-Schemas angegeben.
Zustand des Radlaufs im Leerlauf
Wenn der Computer in den Leerlaufzustand wechselt, können Sie die Aufgabe mit den folgenden Leerlaufbedingungen beenden und neu starten. Um eine Aufgabe zu beenden und neu zu starten, müssen sowohl Eigenschaften als auch Elemente auf "True" festgelegt sein:
- Um den Vorgang zu beenden, wenn die Leerlaufbedingung endet, legen Sie die StopOnIdleEnd--Eigenschaft oder das StopOnIdleEnd--Element auf "True" fest.
- Um die Aufgabe neu zu starten, wenn der Computer erneut in die Leerlaufbedingung wechselt, legen Sie die eigenschaft RestartOnIdle oder das RestartOnIdle Element auf "True" fest.