Плагин process.spf

Файл: process.spf
Автор: Nicholas Nemtsev
Описание: Присвоение произвольному процессу указанного приоритета; слежение за количеством процессорного времени, которое использует указанный процесс.

Новые слова:


S" process-name" <priority-class> PRIORITY

Присваивает процессу указанный приоритет из списка классов приоритетов.

Примеры:

S" plugger.exe" HIGH_PRIORITY_CLASS PRIORITY
S" test.exe" IDLE_PRIORITY_CLASS PRIORITY

S" process-name" <interval-sec> <min-usage> <max-count> PROC-WAIT-CPU-USAGE

Это постфиксное слово приостанавливает выполнение задачи пока указанный процесс не перестанет "нагружать" процессор. Как только процесс станет использовать меньше процессорного времени, чем указано в аргументах PROC-WAIT-CPU-USAGE, выполнение задачи продолжится.

В качестве аргументов к слову PROC-WAIT-CPU-USAGE надо указать:

Расшифруем следующую конструкцию:

S" calculator.exe"  10 20 5 PROC-WAIT-CPU-USAGE

Расшифровка: приостановить выполнение задачи и измерять процессорное время, используемое процессом calculator.exe, блоками по десять секунд. Если пять раз подряд использованное процессорное время будет меньше 20%, продолжить выполнение задачи.

Пример:

#( test_proc-wait-cpu-usage
WatchHotKey: "^@r"
Action:
    START-APP: d:\tools\robosoft\robosoft.exe
    S" robosoft.exe" 2 1 3 PROC-WAIT-CPU-USAGE
    BEEP: 500 500
    \ ...
)#

Это слово работает только в WinNT/2000/XP.


S" process-name" <affinity-mask> AFFINITY

Позволяет указывать какие процессоры в системе можно использовать для работы данного процесса. <affinity-mask> - это целое число, в котором каждый бит отмечает процессор, на котором разрешено запускать этот процесс. Значение <affinity-mask> равное нулю означает, что процессоры используются по усмотрению операционной системы.

Decimal value Binary bit mask Processor in use
1 00000001 0
3 00000011 0 и 1
7 00000111 0, 1 и 2
8 00001000 3
15 00001111 0, 1, 2 и 3
31 00011111 0, 1, 2, 3 и 4
63 00111111 0, 1, 2, 3, 4 и 5
127 01111111 0, 1, 2, 3, 4, 5 и 6

Примеры:

S" plugger.exe" 0 AFFINITY
S" test.exe" 3 AFFINITY