Модуль spawner
 

Описание

Модуль spawner (sp.exe) предназначен для запуска решений и контроля органичений по ресурсам и правам доступа.

Запуск

sp [опции] имя_приложения [параметры_приложения]


ОпцияПеременная окружения Описание
-ml:[n]SP_MEMORY_LIMITМаксимальный объем виртуальной памяти, выделенный процессу (в Mb).
-tl:[n]SP_TIME_LIMITМаксимальное время выполнения процесса в пользовательском режиме (в сек).
-d:[n]SP_DEADLINEЛимит физического времени, выделенного процессу (в сек).
-wl:[n]SP_WRITE_LIMITМаксимальный объем данных, который может быть записан процессом (в Mb).
-u:[user@domain]SP_USERИмя пользователя в формате: User[@Domain]
-p:[password]SP_PASSWORDПароль.
-runas:[0|1]SP_RUNASИспользовать сервис RunAs для запуска процесса.
-s:[n]SP_SECURITY_LEVELУровень безопасности. Может принимать значения 0 или 1.
-hr:[0|1]SP_HIDE_REPORTНе показывать отчет.
-ho:[0|1]SP_HIDE_OUTPUTНе показывать выходной поток (STDOUT) приложения.
-sr:[file]SP_REPORT_FILEСохранить отчет в файл.
-so:[file]SP_OUTPUT_FILEСохранить выходной поток в файл.
-i:[file]SP_INPUT_FILEПолучить входной поток из файла.

Параметры командной строки перекрывают значения переменных окружения.

Формат файла отчета

[пустая строка]
--------------- Spawner report ---------------
Application:            [Application]
Parameters:             [Parameters]
SecurityLevel:          [SecurityLevel]
CreateProcessMethod:    [CreateProcessMethod]
UserName:               [UserName]
UserTimeLimit:          [UserTimeLimit]
Deadline:               [Deadline]
MemoryLimit:            [MemoryLimit]
WriteLimit:             [WriteLimit]
----------------------------------------------
UserTime:               [UserTime]
PeakMemoryUsed:         [PeakMemoryUsed]
Written:                [Written]
TerminateReason:        [TerminateReason]
ExitStatus:             [ExitStatus]
----------------------------------------------
SpawnerError:           [SpawnerError]

Application - Имя приложения

Parameters - Параметры приложения

SecurityLevel - Уровень защиты. Может быть 0 (по-умолчанию) или 1. Уровень 1 включает защиту от:

CreateProcessMethod - Метод создания процесса. Может быть:

Запуск процесса от другого пользователя требует важных привилегий, а именно: Запуск с помощью RunAs в некоторых конфигурациях может работать не корректно, но он не требует специальных привилегий и может быть выполнен от обычного пользователя, однако для этого должен быть включен сервис RunAs (SecondaryLogon).

UserName - Имя пользователя под которым был запущен дочерний процесс в формате: User[@Domain]

UserTimeLimit - максимальное время в сек. выполнения процесса в пользовательском режиме по истечении

которого процесс прерывается. По умолчанию: "Infinity".

Deadline - Время в сек., которое выделено процессу. По умолчанию: "Infinity". Отличается от TimeLimit тем, что это физическое время. Если процесс непрерывно осуществляет ввод/вывод, находиться в состоянии ожидания или система перегружена, то процесс может выполнятся неограниченно долго несмотря на TimeLimit. Для предотвращения данной ситуации нужно установить DeadLine.

MemoryLimit - Максимальный объем выдаляемой памяти процессу в Mb. По умолчанию: "Infinity"

WriteLimit - Максимальный объем информации, который может быть записан процессом в Mb. По умолчанию: "Infinity"

UserTime - Фактическое время выполнения процесса в секундах с точностью до 0.01

PeakMemoryUsed - Максимальное использование виртуальной памяти процессом в Mb.

Written - Объем информации, который был записан процессом в Mb.

TerminateReason - Причина завершения процесса. Может быть: "ExitProcess" - процесс завершился нормально "MemoryLimitExceeded" - превышен лимит памяти "TimeLimitExceeded" - превышен лимит времени выполнения (либо TimeLimit, либо Deadline) "WriteLimitExceeded" - превышен лимит записи "AbormalExitProcess" - процесс завершился с исключением (список исключений см. ниже) Если процесс не был завершен, то данному полю соответствует значение ""

ExitStatus - Статус завершения процесса. Может принимать значение кода возврата процесса, либо одной из следующих констант: "AccessViolation" "ArrayBoundsExceeded" "Breakpoint" "Control_C_Exit" "DatatypeMisalignment" "FloatDenormalOperand" "FloatInexactResult" "FloatInvalidOperation" "FloatMultipleFaults" "FloatMultipleTraps" "FloatOverflow" "FloatStackCheck" "FloatUnderflow" "GuardPageViolation" "IllegalInstruction" "InPageError" "InvalidDisposition" "IntegerDivideByZero" "IntegerOverflow" "NoncontinuableException" "PrivilegedInstruction" "RegNatConsumption" "SingleStep" "StackOverflow"

SpawnerError - Текст ошибки при работе spawner'а. Если ошибка не произошла, то полю соотвествует значение ""

  Кафедра информатики, математического и компьютерного моделирования  
Дальневосточный федеральный университет