Я хотел бы сделать это с помощью командной строки, потому что иногда мой компьютер зависает и мне приходится принудительно его выключать (я знаю, что это нехорошо для оборудования). И:В чем разница между командами Halt и Shutdown?
решение1
Если вы по-прежнему можете получить доступ к текстовой консоли или можете войти в систему удаленно:
- Вы можете использовать
ps
или другие инструменты для составления списка процессов иубийствочтобы попытаться убить некоторые процессы. Некоторые программы сохранят вашу работу (по крайней мере в файл восстановления), если они получатkill -HUP
илипростойkill
. У них может не быть времени сделать это, если вы сразу приступите к перезагрузке. - Запустите
sudo kill
с указанием идентификатора процесса, чтобы завершить процесс, запущенный от имени пользователя root или другого пользователя, который не является вами. - Запустить
reboot
для перезагрузки (например,sudo reboot
если вы используетеsudo
для получения административного доступа). Запуститьhalt
для выключения компьютера. Оба эти вызоваshutdown
с соответствующими опциями.
Если абсолютно все забито, но у вас есть доступ к консоли, вы можете использоватьмагия SysRqпо крайней мере, чтобы сбросить все изменения файлов на диск, размонтировать файловые системы чисто. Нажмите
- Alt+ SysRq+ Eдля отправки SIGTЭRM для всех процессов (необязательно).
- Alt+ SysRq+ Sкссинхронизировать (сбросить) изменения файловой системы на диск.
- Alt+ SysRq+ Uнасильнотыnmount (фактически, перемонтировать только для чтения) все файловые системы.
- Alt+ SysRq+ Bк ребууу.
(Примечание: иногда вы увидите «REISUB», но шаги R и I бесполезны.)
решение2
решение3
Если это замороженный сеанс X, нажмите ctrl+ alt+, f1чтобы попасть в консоль. Войдите в систему и оттуда выполните /sbin/shutdown
, /sbin/reboot
или . В зависимости от разрешений вам может потребоваться сначала /sbin/shutdown -r now
добавить к этим командам или , чтобы стать root.sudo
su
Вы также можете завершить процесс-нарушитель. Запустите , ps aux
чтобы получить список всех процессов и найти те, которые используют много ресурсов ЦП и/или памяти (третий и четвертый столбцы). Используйте kill <pid>
, где pid — это число во втором столбце вывода ps
). Если это не убивает процесс, вам может потребоваться запустить , kill -9 <pid>
чтобы принудительно завершить его.
решение4
Если ваш BIOS настроен таким образом, что для фактического выключения машины вам нужно удерживать кнопку питания более X секунд, нажмите кнопку питания один раз. Это даст acpi-сигнал для выключения/остановки/выключения.