Відключення Linux за 30 секунд?


8

Просте запитання: які параметри можна використовувати для відключення комп'ютера під управлінням Linux / OSX за 30 секунд? Я завжди працював у Windows, куди б я пішов, shutdown -s -t 30але параметри різні. Я переглянув це тут, але це дозволить вам вимкнути комп'ютер лише в певний час (наприклад, 8:00), а не за певну кількість секунд.

Відповіді:


8

В OS X ви можете відключитись за одну хвилину, скориставшись такою командою:

sudo shutdown -h +1

AFAIK, не можна вказати секунди замість хвилин за допомогою цієї команди.

Ви також можете перезавантажити, використовуючи -rзамість -h.


Редагувати:

Як ви згадали у своєму коментарі, ви можете додати затримку програмно, а потім негайно вимкнути систему

shutdown -h now

Але зауважте, що ця команда вимагатиме кореневого доступу.


мех. Тож жодне використання десяткових знаків. Я думаю, що це добре, мені було цікаво, тому що я намагаюся працювати над кросплатформенним додатком Java, який може вимкнути комп'ютер. Тож я міг просто заснути протягом 30 секунд, перш ніж негайно вимкнутись. Але чи sudo shutdown -hвимкнуть комп'ютер без навмисної затримки?

@icnhzabot sudo shutdown -h nowнегайно вимкне комп'ютер без попередження.
Остін

добре, дякую. так що для доступу до кореня я повинен робити sudo shutdown -h nowправильно?
icnhzabot

@icnhzabot Це не працюватиме для автоматизованого скрипту / програми, оскільки він запрошує користувача ввести пароль адміністратора в командному рядку. Вам слід запустити свій скрипт як root та просто зателефонувати shutdown -h now. Якщо вам потрібна допомога з цим, вам слід задати нове запитання (якщо припустити, що відповіді ви не можете знайти в іншому місці). Також не забудьте позначити тут найкращу відповідь як "прийняту", якщо вона відповіла на ваше запитання.
Остін

3

Використовуючи основні дзвінки, я не бачу способу зробити це за секунди, але схоже, що ви можете це робити за лічені хвилини:

time Time is the time at which shutdown will bring the system down and
     may be the word now (indicating an immediate shutdown) or specify
     a future time in one of two formats: +number, or yymmddhhmm,
     where the year, month, and day may be defaulted to the current
     system values.  The first form brings the system down in number
     minutes and the second at the absolute time specified.

Іншими словами:

shutdown -h +1

Якщо ви хочете вимкнути його за 1 хвилину.


чи знаєте ви, чи буде це працювати з .5?

Тут є помилка - -rопція призначена для перезавантаження, а не відключення. Ви повинні використовувати -hдля відключення.
Остін

@Austin ugh, виправив цей рядок.

3

Як вказувалося, командування

sudo shutdown -h +1

Додає одну хвилину.

Якщо ви хотіли це зробити за лічені секунди або години або щось дуже конкретно, ви можете зробити щось на кшталт:

shutdown -h `date --date "now + 60 seconds"`

EDIT: Вищезгадане більше не працює над більш новими версіями Ubuntu. Дякуємо, що вказали на це @zitrax. Моя помилка, ти маєш рацію.

Але ти все одно можеш це зробити, але, можливо, до найближчої хвилини.

sudo shutdown -h `date --date "now + 10 minutes" "+%H:%M"`

Що дещо безглуздо, коли параметр + m простіше набрати .... аааа, ну добре.


Не працює (принаймні, на Linux), це дає час в іншому форматі, ніж очікувалося.
Zitrax

@ Zitrax, тому що він не працював у вашому випадку, не означає, що він працює не в усіх смаках Linux. Я хотів би, щоб ви також відзначили, що backtick "відрізняється від однієї цитати". Я здогадуюсь, чому це не спрацювало для вас. Це абсолютно працює у всіх версіях Ubuntu принаймні 10.04. А оскільки Ubuntu заснований на Debian, він буде працювати і над цим. Можливо, буде більш конструктивно сказати "Не працює на ....", а не відмовитись від голосу та зробити бланк. Linux - це загальний термін, це не версія. Але я насправді думаю, що ви неправильно ввели. Спробуйте ще раз.
Метт Н

1
Я спробував ще раз на своїй домашній машині, і вона теж не працює. Я знаю, як працює заднім полем. Тому я спробував на Ubuntu 13.10 і Kubuntu 13.10. Можливо, я використовую іншу локаль? Вихід з date --date "now + 60 seconds"мене - це лютого 22 лютого 2014 21:25:03 CET, і якщо я використовую це разом із відключенням, він надрукує "недійсне значення часу" (у перекладі на англійську мову). Тож ваше твердження про те, що версія, яку ви написали, абсолютно працює у всіх версіях ubuntu, просто неправильна. Якщо я вказати формат на сьогоднішній день він працює , хоча, як це: date --date "now +60 seconds" +%H:%M.
Zitrax

Спробували перейти на англійську мову, але і це не спрацювало. Тож я не впевнений, чому це працює для вас.
Zitrax

Має бути ваша версія команди відключення. Схоже, версія, що постачається з Ubuntu, може бути різною. Автор автор Скотт Рементант із Conaniki. Має бути, що він приймає ширший діапазон значень введення дати. Працює для мене і принаймні 3 інших, хто висловив перевагу.
Метт H
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.