Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как прервать работу

Ответить
Настройки темы
CMD/BAT - Как прервать работу

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Недавно создавал небольшой батник и из-за ошибки, нашел интересный баг (возможно это не баг). Собственно вот код:
Код: Выделить весь код
a:
msg * "bla-bla-bla"
goto a
Даже при закрытии окна cmd эта команда будет выполнятся. Если вместо msg * "bla-bla-bla" ввести start, то собственно начинает открывать новые окна cmd, причем как это отключить я так и не понял. На 700 окнах комп лег (хотя, возможно, все еще их открывал).

Так вот, как выйти, ну или завершить данный процес? В деспетчере задач он не отображается, точнее он скрыт в csrss.exe и используется из него. Ясное дело, что килять его это черевато последствиями, была мысля отследить его в потоках, но как-то боязно не то кильнуть.

Заранее спасибо за ответ)

Отправлено: 03:16, 05-10-2011

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата retab:
Собственно вот код: »
Цитата:
Системе не удается найти указанный диск.
Не удается найти указанную метку пакетного файла - a
Предположу, что речь шла про такой код:
Код: Выделить весь код
:Loop
msg * "bla-bla-bla"
goto :Loop
Отчего Вы решили, что здесь есть какой-то баг? Вы запускаете бесконечный цикл отправки асинхронных сообщений всем сеансам. Пакетный файл можно прервать любым способом, начиная от нажатия «Ctrl-C»/«Ctrl-Break», и до описываемого Вами закрытия окна консоли. Суть в том, что за время, прошедшее до прерывания пакетного файла, последний уже успел «наштамповать» в бесконечном цикле тысячи, а то и десятки тысяч сообщений, которые продолжают асинхронно поступать к Вам. Понимаете? Процесс отправки сообщения «msg.exe» и процесс, отображающий окно MessageBox'а:
Код: Выделить весь код
---------------------------
Сообщение от User 05.10.2011 06:09
---------------------------
bla-bla-bla
---------------------------
ОК   
---------------------------
— это два разных процесса. Можете взять любую из последних версий Process Explorer'а (где есть поиск процесса посредством целеуказания окна) и убедиться в этом сами.

читать дальше »
P.S. Закрыть множество всё появляющихся MessageBox'ов с сообщениями можно, использовав простой скрипт WSH с зарегистрированным объектом AutoItX:
Код: Выделить весь код
Option Explicit

Dim strWindowClass
Dim strControlClass


strWindowClass  = "[REGEXPTITLE:Сообщение от " & WScript.CreateObject("WScript.Network").UserName & ".*; CLASS:#32770]"
strControlClass = "[CLASS:Button; INSTANCE:1]"

With WScript.CreateObject("AutoItX3.Control")
	Do
		If .WinExists(strWindowClass) Then
			If .ControlClick(strWindowClass, "", strControlClass) Then
				' 
			End If
		End If
		
		WScript.Sleep 10
	Loop
End With

WScript.Quit 0
Я не стал его усложнять, потому, как закроются все окна сообщений, просто снимите процесс скрипта через Диспетчер задач.
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:26, 05-10-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как прервать работу

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Есть возможность устроиться на работу по сборке компов.Потяну ли эту работу ? teapot08 Флейм 27 17-01-2010 14:15
Как наладить работу интернета МТС Коннект? и Как отключить QoS? Vikabmw Хочу все знать 3 27-12-2009 15:05
Загрузка - Прервать установку SP1 pop2 Microsoft Windows Vista 4 24-11-2008 19:25
Как ускорить работу FreeBSD? BSDmaster Общий по FreeBSD 9 15-09-2007 23:28
Как улучшить работу Windowsa Guest Хочу все знать 3 12-07-2004 20:23




 
Переход