Який належний термінальний спосіб відключення?


37

Я намагався вимкнути ПК через SSH. Я стратив

sudo shutdown now

Користувач вийшов із системи та Ubuntu почав вимикатися, але він застиг на останньому екрані з логотипом Ubuntu та точками завантаження. Будь-яка ідея, де може бути проблема?

Також, в чому різниця між shutdownі halt? Які ще подібні команди є?


Чи працює, якщо ви запустите "sudo shutdown -P now"?
Елія Каган

або sudo shutdown -h now
rigved

+1 для запитання. У мене просто була така ж проблема.
boehj

btw: це (також) працює з усіх (інших) tty терміналів :-)
нут про natty

Відповіді:


36

З ПАРАМЕТРИ МАН:

Вимкнення - "завершення роботи системи забезпечує безпечне збиття системи. Усі зареєстровані користувачі отримують сповіщення про те, що система виходить з ладу, і протягом останніх п'яти хвилин TIME нові входи запобігаються". Згаданий тут час - це сума, визначена користувачем, який вимикається.

Halt - "Ці програми дозволяють системному адміністратору перезавантажити, зупинити або переосмислити систему."

Різниця полягає в тому, що Halt може бути більш "агресивним" при вимкненні, ніж саме Shutdown. Він має параметри, ніж може буквально змусити систему відключитися, не стосуючись служб чи відкритих програм. Якщо ви зупинитесь без будь-яких параметрів, вона просто виконає команду відключення. Щось на зразок псевдоніма. Якщо запустити його, наприклад, з параметром, --forceвін "змусить" систему перезавантажитись дуже швидко.

У разі зупинки або вимкнення, вони будуть чекати, коли всі процеси закінчуться правильно, перш ніж вимкнути ПК або перезавантажити. Якщо служба чи додаток не закриваються або не закриваються належним чином, ви побачите, що ви там згадуєте (логотип ubuntu з крапками).

Правильним способом в терміналі для одного користувача або декількох користувачів є відключення. Але якщо вимкнення не працює, перевірте, які служби у вас запущені, а які - викликають повільність або заморожування відключення.

Зважаючи на це, існує кілька способів перезавантажити або відключити систему:

Перезавантаження - shutdown -r,reboot

У цьому випадку перезавантаження просто викликає shutdown -r.

Завершення роботи - halt, shutdown, sudo init 0, shutdown -h now,poweroff

У цьому випадку poweroffце те саме, що дзвонитиshutdown -P

Як ви вже помітили, shutdownкоманда може зробити багато речей, ось невеликий її список:

-r  Requests that the system be rebooted after it has been brought down
-h  Requests that the system be either halted or powered off after it has been brought down, with the choice as to which left up to the system
-H  Requests that the system be halted after it has been brought down
-P  Requests that the system be powered off after it has been brought down
-c  Cancels a running shutdown. TIME is not specified with this option, the first argument is MESSAGE
-k  Only send out the warning messages and disable logins, do not actually bring the system down

Як це робить reboot

-f, --force                 force reboot or halt, don't call shutdown(8)
-p, --poweroff              switch off the power when called as halt

Однак існує відмінність між відключенням через термінал та натисканням на параметр "Відключення" в Unity. Останній попросить користувача взаємодіяти з будь-якими незбереженими роботами (наприклад, libreoffice, inkscape ...). перший просто посилатиме сигнал усім процесам і каже їм закритись. Жодна взаємодія з користувачем не буде потрібна, тому будь-яка збережена робота більше не буде.


2
То як же Ubuntu вимикається належним чином, коли це робиться за допомогою кнопки відключення у верхній панелі? Чим це відрізняється від термінальної команди? Чому це працює, а команда терміналу не працює? Це досить дивно ...
Річард Родрігес

16
@RiMMER shutdownвимикає ОС, але насправді не вимикає комп'ютер. Вам потрібен або додатковий аргумент, наприклад shutdown -P, або зателефонувати poweroffнатомість. (Вони так само.) Повний перелік подібних команд reboot, halt, poweroffі shutdown.
jg-faustus

У моєму випадку ноутбук ніколи не вимикається за допомогою кнопки вимкнення всередині єдності або самої команди.
Луїс Альварадо

Як нерестувати його від XMonad? ("M-S-k", spawn "sudo shutdown now -P")не працює.
Абдулсаттар Мухаммед

"отключение -P" також працюватиме від tty1 (щоб також вимкнути tty7 та вимкнути автомат)?
горіх про natty

7

Що потрібно зробити, це вимкнути комп'ютер після його відключення, виконавши команду нижче:

відключення судо -P 20


1
Чому це краще, ніж просто shutdown -P? EDIT : Хіба він не в змозі дізнатися, коли я найкращий момент, щоб перемогти?
Девід Табернеро М.

Тому що якщо ви "раптом" більше не впевнені в тому, що вимкнути його, ви можете скасувати процес відключення. Використання часу не зробить це миттєво = немає повернення назад. Крім того, якщо ви перебуваєте на сервері з більшою кількістю людей, вони отримають повідомлення про те, що сервер незабаром вимкнеться, залишаючи їм деякий час для підготовки виходу з системи.
s1mmel

2

Ще одна команда для системи відключення

sudo init 0

init 0 викликає всі сценарії вимкнення і витончено вимикає вашу машину.


3
Для цього потрібно трохи більше пояснень.
don.joey

0

Який належний термінальний спосіб відключення?

shutdown -h now

або

poweroff
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.