Несколько дней назад я впервые заметил, что один из моих сценариев 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?