Назад | Перейти на главную страницу

Различные способы выключения системы

Мне задали этот вопрос в интервью на должность QA:

Расскажите мне обо всех возможных способах выключения вашей системы. Система может быть в сети.

Я знаю, что этот вопрос немного расплывчатый. Этот вопрос задавал интервьюер, может быть, он ожидал, что я отвечу по поводу виртуализации?

Мой ответ: используйте ssh для выключения различных систем в сети.

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

Итак, каковы другие способы выключения системы?

Что за система? У вас есть физический доступ? Означает ли "выключение" чистое выключение? Вы хотите одновременно выключить систему?

Вот список, который у меня есть на данный момент:

Любая ОС:

  1. Нажмите кнопку питания (возможно, потребуется удерживать ~ 5 секунд) (* может быть не чистым)
  2. Отключите шнур питания от системы (не будет чистым)
  3. Отрежьте шнур питания (не будет чистым)
  4. Отсоедините шнур питания от ИБП, удлинителя или стены, к которой он подключен (не будет чистым)
  5. Удалите критические компоненты из системы (диски, блок питания, ЦП, ОЗУ) (определенно не чистые)
  6. Уничтожьте систему с помощью вставьте здесь ваш предпочтительный метод уничтожения (чистота не имеет значения, потому что вы не сможете восстановиться после такого отключения без машины времени)

Windows:

  1. Пуск -> Завершение работы
  2. В командной строке введите shutdown /p /f (ты можешь сделать shutdown /? для списка флагов есть много вариантов)
  3. По сети: shutdown \\machinename /y /c (из ответа Марка Хендерсона)

Linux:

  1. Выберите команду выключения в вашем графическом интерфейсе (слишком зависит от графического интерфейса, чтобы давать подробности здесь)
  2. shutdown -h now (-h выключит его)
  3. init 0
  4. halt (Ах, это возвращает воспоминания о старых добрых временах: sync;sync;halt)
  5. ssh root@machinename shutdown -h now (если вы не можете использовать ssh как root, сделайте sudo shutdown ...)

FreeBSD:

  1. shutdown -p now (-p выключит его)
  2. Выберите команду выключения в вашем графическом интерфейсе (слишком зависит от графического интерфейса, чтобы давать подробности здесь)
  3. halt

OSX:

  1. Нажмите Apple на панели задач -> Shut Down
  2. Из Terminal.app -> shutdown -h now

VMware:

  1. Выберите соответствующую команду из списка выше в зависимости от гостевой ОС.
  2. Щелкните правой кнопкой мыши по гостю, выберите Power -> Power Off (или щелкните по нему и нажмите CTRL + E)
  3. Щелкните правой кнопкой мыши по гостю, выберите Power -> Shut Down Guest (или щелкните по нему и нажмите CTRL + D)
  4. vmrun -T server -h https://IP-OF-HOST:8333/sdk -u user -p password stop "[datastore] guest.vmx" (предполагается, что у вас есть доступ к vmrun из командной строки)
  5. Убить процесс виртуализации на хосте (не чистить)

Xen:

  1. Выберите соответствующую команду из списка выше в зависимости от гостевой ОС
  2. xm shutdown machinename
  3. Убить процесс виртуализации на хосте (не чистить)

Виртуальный ящик:

  1. Выберите соответствующую команду из списка выше в зависимости от гостевой ОС
  2. Закройте окно хоста, где вы получите возможность выключить виртуальную машину (ы).
  3. Убить процесс виртуализации на хосте (не чистить)

Я уверен, что есть МНОГО других, я буду добавлять их к своему ответу, когда они приходят ко мне (или люди оставляют их в комментариях).

  • Windows: shutdown \\machinename /y /c
  • Xen: xm shutdown machinename или xm destroy machinename
  • VMWare: войдите в консоль управления vSphere, щелкните машину правой кнопкой мыши и выберите «Завершить работу».

Если на машине есть сетевой удлинитель, вы можете войти в удлинитель и выключить питание.

halt
init 0
shutdown -h now

три вы можете запустить на оболочке

Я использую LogMeIn для удаленного управления серверами. У нас небольшая инфраструктура, и она хорошо справляется со своей задачей (и безопасна).

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