2013-03-26 3 views
2

В Windows XP Pro в сетевой среде, так что Ctrl + Alt + Del дает вам приглашение Windows Security, если вы удерживаете Ctrl и выходите на экран, это вызывает аварийное завершение работы.Моментальное питание выключено программно?

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

Мне интересно, в каком процессе Windows достигает такого быстрого отключения - это инструктирование BIOS напрямую через ACPI/APM для отключения системы? Если да, то как это может быть достигнуто программно на любом языке?

ответ

1

Это может быть достигнуто в системах * NIX с помощью системы Просьбы. Как правило, это отключено по соображениям безопасности, но вы можете включить его с привилегиями суперпользователя и запросить питание к системе сразу следующим образом:

echo 1 > /proc/sys/kernel/sysrq-trigger ; 
echo o > /proc/sysrq-trigger 

, где буква «о» означает «выключение». Другие функции доступны. https://en.wikipedia.org/wiki/Magic_SysRq_key

0

вы можете использовать ExitWindowsEx с EWX_POWEROFF и EWX_FORCE флагами ...

+0

Благодаря Яхья, вы знаете о достижении его в Unix или другой ОС»в целом? – deed02392

+0

@ deed02392, который зависит от используемого вами Unix и того, что ваш процесс работает под ... – Yahia

+0

Я заинтересован в поддержке этого в основном в FreeBSD и Debian (Xen/OpenVZ). Я надеялся получить объяснение в общих терминах о том, как это достигнуто, чтобы я мог сделать дальнейшее чтение для конкретной ОС. – deed02392

1

ExitWindowsEx функция является стандартной остановки, и даже с EWX_FORCE он все еще закрывает все программы, услуги и т.д. ... это просто не спросить/ждать их, чтобы закрыть.

Так в чем же решение? Используйте NtShutdownSystem.

Эта функция выполняет фактическое выключение, очищая кеши, реестр и т. Д., А затем вызывая BIOS для выключения компьютера.

Посмотрите здесь для примера использования:
http://www.codeproject.com/Articles/34194/Performing-emergency-shutdowns

Смежные вопросы