Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Принудительная перезагрузка, не смотря на зависшие приложения (http://forum.oszone.net/showthread.php?t=231727)

THEDOGG 30-03-2012 20:20 1890301

Принудительная перезагрузка, не смотря на зависшие приложения
 
Нужно сделать скрипт или что-то подобное , чтобы процесс svhost.exe (или что то аналогичное которое вызовет принудительную перезагрузку компа, чтобы не делать reset'a на системнике) завершился по нажатию одной кнопки и комп перезагрузился бы в любом случае (особенно нужно когда игра зависла или приложение и кроме резета ничего не спасает) Помоги пожалуйста...

Anonymоus 30-03-2012 20:43 1890314

THEDOGG, если у вас есть клавиатура с мультимедиа-кнопками, и вы не пользуетесь частью из них (например, кнопкой "Почта", которая вызывает стандартный MS Outlook) - можно заменить exe-файл аутлука, скомпилированным в exe cmd-скриптом с таким же именем (не забудьте сделать резервную копию exe-файла аутлука).

У меня в качестве почтового клиента используется thunderbird, поэтому данный вариант с аутлуком представляется мне наиболее предпочтительным. Сам скрипт можете взять из этого поста, , скомпилировав его в exe этой утилитой, не забыв выставить запуск без создания видимого окна. При запуске он завершит все подвисшие процессы принудительно, кроме важных системных (вмонтированный в скрипт список актуален для Win XP, для других вам возможно, потребуется его править). Если же нужно именно перезагрузить путем убийства системного процесса, то замените этот же встроенный список на none
показать пример
Код:

Else (
Set WhiteList=explorer.exe:csrss.exe:ctfmon.exe:lsass.exe:services.exe:smss.exe:svchost.exe:tasklist.exe:taskmgr.exe:winlogon.exe:wmiprvse.exe:
)
    на
Else (
Set WhiteList=none
)


После чего, проведите вышеописанную процедуру замены бинарника outlook, не забыв сделать его бекап.

Iska 31-03-2012 05:55 1890497

THEDOGG, принудительная перезагрузка не имеет радикальных отличий от банального Reset'а.

yurfed 31-03-2012 06:01 1890500

THEDOGG, а как вы представляете себе зависший компьютер, который не реагирует на клавиатуру, но при этом реагирует на "волщебную" кнопку?
Может тогда проще стандартно, по трём кнопкам?

THEDOGG 31-03-2012 13:50 1890665

Как бы это объяснить... у меня комп намертво вешается крайне редко, к примеру в игре повисло всё, но плеер с музыкой работает, музыка играет, но с этого экрана с зависшей игрой никак не выйти, только резетом, я ведь понимаю что при полном мертвяке кнопки никакие не реагируют, разве что был бы 98-й там бы может и спасли эти кнопки нажав их два раза подряд...

yurfed 31-03-2012 15:13 1890714

Цитата:

Цитата THEDOGG
Как бы это объяснить... »

А что тут объяснять если клавиатуру отрубило?
Кнопка WIN тоже не работает?

THEDOGG 31-03-2012 15:44 1890732

кнопки то все работают, только не видно что ты делаешь на экране так как игра зависла и осталась картинка с игры на месте зависа и убрать можно только резетом, но если куча всего пооткрыто как это всегда бывает, то резет не катит так как потеряю к примеру то что писал в текстовом и не сохранил ну и подобное...

yurfed 31-03-2012 15:57 1890740

Цитата:

Цитата yurfed
Кнопка WIN тоже не работает? »

Ну и пользуйтесь ей. По крайней мере свернёте окно в панель задач.

Anonymоus 31-03-2012 16:06 1890743

yurfed, при падении старых opengl-игр, не рассчитаных на современные ОС, у меня была такая же проблема, и вы ерунду говорите. Как можно "свернуть окно" или выйти на рабочий стол win-кнопкой, если экран не перерисовывается вообще до запуска другого opengl-приложения или принудительного завершения процесса игры?
Клавиатура при этом работает, но вслепую, соответственно, эффекта от этого не видно.

yurfed 31-03-2012 16:19 1890749

Цитата:

Цитата Anonymоus
при падении старых opengl-игр, не рассчитаных на современные ОС, у меня была такая же проблема, и вы ерунду говорите. »

Если у вас там что то не получается это ещё ни о чём не говорит.
Можно WIN - стрелка вверх - стрелка вправо и два раза Enter. И если клавиатура действует, то компьютер должен отключиться.

ЗЫ
THEDOGG, Сделайте батник с содержимым на перезагрузку
Код:

shutdown.exe -r -f -t 30
и цепляйте его к любой клавише или их комбинации.

Iska 31-03-2012 16:49 1890771

Цитата:

Цитата Anonymоus
если экран не перерисовывается вообще до запуска другого opengl-приложения или принудительного завершения процесса игры? »

Вот в эту сторону и надо «копать», вешая на комбинацию горячих клавиш запуск подобного приложения, либо снятие процесса игры.

THEDOGG 04-04-2012 15:05 1893338

Anonymоus - меня отлично понял, у меня как раз этот случай :)
yurfed - благодарю за хороший ответ, просто и действенно :)

DesmondTruman 04-04-2012 16:39 1893401

Я обычно, когда зависает игра и экран не перерисовывается, нажимаю win+r, и в cmd "вслепую" пишу taskkill /f /im %игра%.exe. Это конечно с учётом того, что вы знаете точное название exe.

THEDOGG 04-04-2012 19:12 1893494

DesmondTruman - тоже хороший вариант :)


Время: 07:35.

Время: 07:35.
© OSzone.net 2001-