Вы здесь

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

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

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

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

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

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

-t secs: delay between warning and kill signal.

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

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

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

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

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

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 секунд или now надо?
Зачем now

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

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

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

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

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

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

shutdown -r -t 10 1

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

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

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

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

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

sleep 30 ; reboot

тогда уж

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

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

можно

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

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

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

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

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

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

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

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

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

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

shutdown -p -t 50 now

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

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

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

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

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

финиш.

загрузка.

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

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

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

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

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

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

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

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

ОБЯСНЯЮ!

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

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

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

imho

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

shutdown -r -t 50 now

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

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

уберите now

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

# 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 постов в этой теме и я ее заламинирую за флуд ;)

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

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

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

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

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

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

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

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

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

вот смотрите...
я выполняю 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 написал:
нечо не понял...

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

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 здесь уже лишнее.