タグ: タスクスケジューラ
タスクスケジューラから起動されるプロセスの優先度を変更する
Windows Vista、7のタスクスケジューラは、起動時に毎回、管理者権限で実行したいアプリケーションを動かすのに非常に便利です。
しかし、タスクスケジューラから起動すると、基本優先度が「通常以下」となってしまい、アプリケーションの動作が遅いというのが難点です。
変更できる方法は無いかと調べたところ、Windows 7でもY-four Blog: VistaのI/O Priorityの記事と同様の方法でに変更できることを確認しました。
- タスクをエクスポートします。

- XMLファイルで保存します。
- タスクを削除します。
- XMLファイルをメモ帳などで開きます。
Priorityと書かれた項目を探します。(だいたい下の方にあります)
...
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT0S</ExecutionTimeLimit>
<Priority>7</Priority>
...項目の数字(例では7)を6に変更します。- ファイルを保存します。
- タスクをインポートします。

- タスクの作成が表示されるのでOKを押します。
項目の数字と優先度の関係はTaskSettings.Priority Property (Windows)にまとまっています。確認したものは以下の通りです。
| Priority | 基本優先度 |
|---|---|
| 0 | リアルタイム |
| 1 | 高 |
| 3 | 通常以上 |
| 6 | 通常 |
| 7 | 通常以下 |
| 9 | 低 |