1

Несколько дней назад я впервые заметил, что один из моих сценариев VB остановился сам по себе, через несколько секунд после запуска. Оказывается, процесс wscript.exe завершается примерно через 5 секунд после его создания. Это довольно точно. Я написал тестовый скрипт с:

wscript.sleep 4800
wscript.echo "привет"

Я вижу процесс wscript.exe в TaskManager, я увижу окно сообщения в течение доли секунды после ожидания 4,8 сек. и тогда это (и процесс) исчезает. Изменив время на 5200, я никогда не увижу окно сообщения.
И здесь странная вещь: установив время на 5000, процесс также будет убит большую часть времени, но я был свидетелем 3 раз, что это не было убито. Процесс не исчезнет, пока я не нажму OK.

  • Одинаковое поведение для wscript.exe и cscript.exe

  • Двойной щелчок vbs из Explorer или запуск vbs из cmd.exe, запускаемого администратором, не имеет значения

  • Я использую Security Essentials (и уже давно)

  • HijackThis показывает эту строку (которая не всегда была там): O4 - HKLM ..\RunOnce: [Malwarebytes Anti-Malware] C:\Program Files (x86)\Malwarebytes 'Anti-Malware\mbamgui.exe /install /silent (хотя mbamgui.exe не является запущенным процессом)

  • При запуске с выходом cscript это:

d:\temp> cscript tst.vbs
Microsoft (R) Windows Script Host версии 5.8
Авторское право (C) Microsoft Corporation. Все права защищены.

Привет
Время выполнения сценария было превышено для сценария "d:\temp\tst.vbs".
Выполнение скрипта было прекращено.

Код ниже также показывает результат, только если время расчета не превышает 5 секунд:

t1 = Таймер
Для я = 1 до 25000000
x = Rnd()* Rnd()
следующий
MsgBox timer-t1

На моей машине с 25000000 я вижу результат за доли секунды, с 30000000 результат никогда не показывается.

Есть ли способ определить, какой процесс отвечает за уничтожение моего процесса VBscript?

1 ответ1

1

Время ожидания по умолчанию - нет, поэтому, возможно, вы случайно настроили время ожидания для обработчика сценариев.

Если это не проблема, тогда вы можете попытаться отслеживать процесс написания сценариев (WScript или CScript) с помощью Sysinternals ProcMon.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .