shutdown -r -t 50 now - выключается сразу :( [РЕШЕНО]

ни какой задержки на 50 секунд не наблюдается, проверил на gentoo и suse.
Эта баг или фича?

И где ты такой формат команды

И где ты такой формат команды откопал?
man shutdown

Не грусти, товарищ! Всё хорошо, beautiful good!

# shutdown --help shutdown:

# shutdown --help
shutdown: invalid option -- '-'
Usage: shutdown [-akrhPHfFnc] [-t sec] time [warning message]
-a: use /etc/shutdown.allow
-k: don't really shutdown, only warn.
-r: reboot after shutdown.
-h: halt after shutdown.
-P: halt action is to turn off power.
-H: halt action is to just halt.
-f: do a 'fast' reboot (skip fsck).
-F: Force fsck on reboot.
-n: do not go through "init" but go down real fast.
-c: cancel a running shutdown.
-t secs: delay between warning and kill signal.
** the "time" argument is mandatory! (try "now") **

а какой должен быть?

а какой должен быть?

например

sleep 50 ; reboot

ну, это же костыль... а что с

ну, это же костыль...
а что с shutdown? его что - сломали?

опять же из inittab

опять же из inittab suse
....
# what to do when CTRL-ALT-DEL is pressed
ca::ctrlaltdel:/sbin/shutdown -r -t 4 now
....

ага

Вас не смущает наличие 2х параметров касательно времени?

-t и time
еще раз внимательно

man shutdown

И да. Это фича :)

1. shutdown [-akrhPHfFnc] [-t

1. shutdown [-akrhPHfFnc] [-t sec] time [warning message]
2. исходя из мана time - аргумент обязательный. => опция -t может применяться только с ним вместе. насколько я понял, time задает время, когда должен быть выполнен shutdown. -t - задает задержку между посылкой оповещения, которая происходит во время time и, собственно, посылкой килов другим процессам.

укажите мне прямо на мою ошибку. буду премного благодарен.

-t secs: delay between

-t secs: delay between warning and kill signal.

т.е. этот параметр не влияет на время начала процедуры выключения
Хотите отсрочить выключение задавайте нужный вам момент в time

э... не понял... т.е. может

э... не понял...
т.е. может произойти так, что килы не посланы, а процесс выключения уже произошел?

Например при

Например при alt+sysrq+o
Можно ещё указать моментальный резет или перезагрузку.
Только фс не отмонтируются.

Локальный оверлей растёт

я хочу не отсрочить, а

я хочу не отсрочить, а сделать в нем паузу в -t секунд.
разве опция -t не для этого? а для чего тогда?

emark написал(а):укажите мне

emark написал(а):
укажите мне прямо на мою ошибку. буду премного благодарен.

 -t sec Tell init(8) to wait sec seconds between sending processes the warning and the kill signal, before changing to another runlevel.

Если после чтения мана ничего не понятно, нужно прочитать его еще раз :)

Working on Gentoo Linux for Asus P535 and Qtopia :-)

т.е. из мана все-таки

т.е. из мана все-таки следует, что оба параметра можно применять одновременно.

а эту фразу я понимаю так:
я запускаю команду.
она вызывает init во время now.
init рассылает варнинги.
ждет -t секунд
шлет килы
меняет runlevel

вот этой задержки я и не вижу.

в чем моя ошибка?

Так вам через 50 секунд или

Так вам через 50 секунд или now надо?
Зачем now

Локальный оверлей растёт

сомневаюсь что удастся

сомневаюсь что удастся указать время с точностью до секунды
время задаётся так же как и в других командах, например at
например now + 1 minutes

непойму чем конструкция со sleep не устраивает... коротко и понятно... хм..

да всем устраивает... только

да всем устраивает...
только надо добавить еще wall перед задержкой...

вопрос принципиальный :) есть же команда, которая должена это делать.

Ох-хо-хо-нюшки... shutdown -r

Ох-хо-хо-нюшки...

shutdown -r -t 10 1

Поупражняйся, поиграйся с параметрами...

Не грусти, товарищ! Всё хорошо, beautiful good!

дык уже поигрался... а зачем

дык уже поигрался...

а зачем в этой команде -t 10?

как сделать 30 секунд?

sleep 30 ; reboot

sleep 30 ; reboot

тогда уж wall -n "Оппа...";

тогда уж

wall -n "Оппа..."; sleep 30; reboot

но это слишком простое решение...

можно cd /usr/src/linux ;

можно

cd /usr/src/linux ; make clean ; make & ; cat /dev/urandom & ; [куча всякой фигни в фоне]; sleep 30 ; reboot

или

alias shutdown='sleep 30 ; reboot'
shutdown -r -t 30 now

(как Вам нравится)

ну Вы поняли

дык shutdown -r -t 30 now не

дык

shutdown -r -t 30 now

не срабатывает. о чем и разговор...

alias выполни перед этим и

alias выполни перед этим и будет тебе щастье

не будет счастья по двум

не будет счастья по двум причинам:
1. почему не работает shutdown как я ожидаю я так и не понял
2. не будет посланы сообщения

Опишите что Вы хотите

Опишите что Вы хотите получить в итоге, лично я так и не понял
Что-бы shutdown заработал как Вы от него ожидаете - перепишите код shutdown

хочу, чтобы произошло вот

хочу, чтобы произошло вот это:

- я запускаю команду shutdown.
- она вызывает init во время now.
- init рассылает варнинги.
- ждет -t секунд
- шлет килы
- меняет runlevel

как я понял из мана она это и должна делать

но задержки в -t секунд я не наблюдаю

можно человеческим языком еще

можно человеческим языком еще раз, без указания команд

shutdown -r -t 50

shutdown -p -t 50 now

Разослал сообщение (System is going down) сейчас (now) и выключился через 50 сек (-t 50)

запускаю shutdown -r -t 10000

запускаю shutdown -r -t 10000 now

все пользователи получают сообщение:
The system is going DOWN for reboot in 10000 second!

в течении 10000 секунд пользователи могут завершить свои дела.

через 10000 секунд от времени now происходит продолжение процесса перезагрузки.

финиш.

загрузка.

wall 'AHTUNG !!! Reboot after

wall 'AHTUNG !!! The system is going DOWN for reboot in 10000 second!' ; sleep 10000 ; reboot

вопрос не в том, что это

вопрос не в том, что это можно сделать другими способами.
вопрос в том - почему опция -t не отрабатывается.

мне может кто-нибудь без отсылке к манам объяснить в чем смысл этой опции (маны я уже читал).

она отрабатывается -t - в

она отрабатывается

-t - в моём понимании это время сколько ждать завершения процесса прежде чем его убить

ps мой последний ответ в данном посте

-t sec Tell init(8) to wait

-t sec Tell init(8) to wait sec seconds between sending processes the warning and the kill signal

опс

дык почему он не ждет 50 секунд, а киляет всех now?
т.е. не отрабатывается

ОБЯСНЯЮ!SIGTERM всем

ОБЯСНЯЮ!

shutdown -t 30 NOW

NOW(сейчас) посылаем SIGTERM всем процессам, и если еще какой то процесс работает, ждем указанное время -t 30 секунд потом посылаем ему SIGKILL

Справка по сигналам:
SIGTERM - процесс получающий этот сигнал может его обработать, например корректно закрыть все свои файлы, сокеты и т.д.
SIGKILL - процесс не может обработать этот сигнал, и тупо убивается без предупреждения

Working on Gentoo Linux for Asus P535 and Qtopia :-)

да я уже разобрался... меня

да я уже разобрался...

меня вот эта фраза смутила

-t sec Tell init(8) to wait sec seconds between sending processes the warning and the kill signal

концовку можно перевести (дословно) как "предупреждением и убивающим сигналом" или как "предупреждающим и убивающим сигналом" (во всяком случае для русской лексики, хотя, на некоторых англоязычных форумах тоже признают, что в этой части ман написан двусмыслено)
предупреждением в контексте данного мана я считал warning message - Message to send to all users, а оказывается, если глянуть в ман по init - это SIGTERM.

PS: тебе огромное спасибо, за то, что не стал по фидошному надувать щеки и кидаться фразами про чтение манов за 50 баксов в час, а привел объяснение всего-то в несколько строк. хорошо когда в сообществе есть такие люди :)

С тебя $50 :D

С тебя $50 :D

Working on Gentoo Linux for Asus P535 and Qtopia :-)

emark написал(а):ни какой

emark написал(а):
ни какой задержки на 50 секунд не наблюдается, проверил на gentoo и suse.
Эта баг или фича?

imho emark написал(а): ни

imho

emark написал(а):
ни какой задержки на 50 секунд не наблюдается, проверил на gentoo и suse.
Эта баг или фича?

shutdown -r -t 50 now

в переводе на русский означает: погасить с перезагрузкой с задержкой 50 сейчас/немедля

и чего вы ожидаете?

уберите now

что-то добрый я сегодня ....

# shutdown -r -t 50 Usage:

# shutdown -r -t 50
Usage: shutdown [-akrhPHfFnc] [-t sec] time [warning message]
-a: use /etc/shutdown.allow
-k: don't really shutdown, only warn.
-r: reboot after shutdown.
-h: halt after shutdown.
-P: halt action is to turn off power.
-H: halt action is to just halt.
-f: do a 'fast' reboot (skip fsck).
-F: Force fsck on reboot.
-n: do not go through "init" but go down real fast.
-c: cancel a running shutdown.
-t secs: delay between warning and kill signal.
** the "time" argument is mandatory! (try "now") **

не сработает

не сработает

еще 5 постов в этой теме и я

еще 5 постов в этой теме и я ее заламинирую за флуд ;)

Каноничный код

shutdown -t 600 "все нафик закончили работу"

выдаст сообщение "все нафик закончили работу" и и пошлет SIGTERM через 600 секунд; все осталные хотелки , желалки и прочее являются ересью.

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Ну от тебя я такого не

Ну от тебя я такого не ожидал! Ты сам то проверяй, что советуешь )

$ sudo shutdown -r 10 'Achtung!!'

Broadcast message from root@EGOROV (pts/5) (Wed Nov 23 21:44:43 2011):

Achtung!! 
The system is going DOWN for reboot in 10 minutes!
 

ага, ступил ;(

ага, ступил ;(

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Где вы такие шутдауны

Где вы такие шутдауны берете? 8(
Не сработает.

# shutdown -t 600 "все нафик закончили работу"
Usage: shutdown [-akrhPHfFnc] [-t sec] time [warning message]
-a: use /etc/shutdown.allow
-k: don't really shutdown, only warn.
-r: reboot after shutdown.
-h: halt after shutdown.
-P: halt action is to turn off power.
-H: halt action is to just halt.
-f: do a 'fast' reboot (skip fsck).
-F: Force fsck on reboot.
-n: do not go through "init" but go down real fast.
-c: cancel a running shutdown.
-t secs: delay between warning and kill signal.
** the "time" argument is mandatory! (try "now") **
r

___the "time" argument is mandatory! ___

А тебе вообще ПОЗОР Неужели

А тебе вообще ПОЗОР

Неужели так сложно прочитать, что тебе сама программа выдает?

Usage: shutdown [-akrhPHfFnc] [-t sec] time [warning message]

нечо не понял... я и толкую,

нечо не понял...

я и толкую, что _вот это_

shutdown -t 600 "все нафик закончили работу"

вывалится со справкой, а _вот это_

shutdown -r -t 600 now

вырубится сразу, без задержки

http://www.gentoo.ru/node/242

Да не трогай ты этот ключ -t. Не нужен он тебе
http://www.gentoo.ru/node/24249#comment-180236

30 секунд как сделать?

30 секунд как сделать?
вот хочется мне...

никак. Либо сейчас же, либо с

никак. Либо сейчас же, либо с дискретностью в минуту

а ключ t для чего? маны я уже

а ключ t для чего? маны я уже читал...

Извини. Маны вслух читаю

Извини. Маны вслух читаю только за дельги.

OMG! WTF!?

и почему же он не

и почему же он не исполняется?

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

убейте меня кто нибудь

сравни:

ping -w 3 128.204.1.10

и

ping -w 30 128.204.1.10

-w для ping тоже самое что -t для shutdown

и включи наконец моск

PS ты правда тут 5 лет?
ЗЫ пиши в jabber иначе нас обоих забанят

да, тоже самое... и

да, тоже самое... и виртуальный терминал никто не прибивал... а он киляется, почему не дождались 600 с?
зыЖ я вот понять не могу, кому мешают два достопочтенных генушника беседующих на тему шутдаунов :)
А куда там вjabber? Vovike::gentoo.ru ?

emark написал(а): нечо не

emark написал(а):
нечо не понял...

я и толкую, что _вот это_

shutdown -t 600

вывалится со справкой, а _вот это_

shutdown -r -t 600 now

вырубится сразу, без задержки

shutdown -t 600 10 "все нафик закончили работу"

:) не пробовал ? :)

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

да, это сработает. а -t 600

да, это сработает.
а -t 600 здесь уже лишнее.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".