On Wed, Apr 23, 2008 at 01:54:04PM +0400, Dmitriy M. Maslennikov wrote: > После сборки и тестирования upstart, я обнаружил некоторую странную > вещь в скрипте /etc/rc.d/init.d/halt . В нем последней строкой > вызывается либо /sbin/poweroff либо /sbin/reboot или что-то из их > семейства. Им передаются параметры -i -d. Задача такого вызова, как я > понимаю, произвести непоследственное выключение или перезагрузку > компьютера. > > Так вот, upstart предоставляет свои реализации этих утилит (для > эмуляции SysV). При этом они не имеют ключа -d (ходя он и не мешает им > работать), но при этом перезагрузки/выключения не происходит, а > вызывается /sbin/shutdown, который делает несколько иные действия. При > этом то же самое должны делать и утилиты из SysV, если я правильно > понял man (в код реализации SysV не смотрел, только в реализацию > upstart). > > К правильным действиям приводит вызов тех же команд, но с параметрами > -i -d -f (это работает и в upstart и в SysV), так как параметр -f, как > раз и означает, что не надо вызывать shutdown, а непосредственно > выполнить действие. Это по-моему и есть правильный вызов, я даже не > понимаю, почему работает вызов без -f в SysV. > > Кто-нибудь может прокомментировать это? halt(8): "From release 2.74 on halt and reboot invoke shutdown(8) if the system is not in runlevel 0 or 6." Т.е. если хотите, то можете добавить -f, для SysVinit ничего не изменится. -- ldv