SHUTDOWN(8)

NOME
shutdown - desliga o sistema

RESUMO
/sbin/shutdown [-akrhPHfFncqQ] [-t sec] tempo [mensagem de aviso]

DESCRIÇÃO
O shutdown desliga o sistema num modo seguro. Todos os utilizadores com sessão aberta são notificados de que o sistema vai desligar, e o login(1) é bloqueado. É possível desligar o sistema imediatamente ou após um atraso especificado. Todos os processos são primeiro notificados de que o sistema vai desligar pelo sinal SIGTERM. Isto dá a programas como o vi(1) o tempo para salvar o ficheiro que está a ser editado, a programas de processamento de mail e notícias a hipótese de terminar de maneira limpa, etc. O shutdown faz o seu trabalho ao sinalizar o processo init, pedindo-lhe para mudar o runlevel. O runlevel 0 é usado para parar o sistema, o runlevel 6 é usado para reiniciar o sistema, e o runlevel 1 é usado para pôr o sistema num estado em que se podem executar tarefas administrativas; esta é a predefinição se nenhuma das bandeiras -h ou -r forem dadas ao shutdown. Para ver que acções são tomadas no desligar ou reiniciar veja as entradas apropriadas para esses runlevels no ficheiro /etc/inittab.

OPÇÕES

-a  Usa /etc/shutdown.allow.

-k  Não desliga realmente; apenas envia mensagens de aviso a toda a gente.

-r  Reinicia após desligar.

-h  Halt or power off after shutdown. Usually used with the -P or -H flags, depending on whether we want to poweroff or simply stop the operating system.

-P  Modificador da bandeira -h. A acção de parar deve desligar a energia. Tem de ser usado com a bandeira -h.

-H  Modificador da bandeira -h. A acção de parar é de parar ou de cair para o monitor de arranque em sistemas que o suportam. Tem de ser usado com a bandeira -h. Este modo de parar é muitas vezes usado para se correr pelo processo de desligar e deixar o resultado no ecrã para objectivos de depuração. Ou quando o utilizador quer que o SO pare, mas deixe a energia ligada. Para desligar a energia no final da sequência do shutdown use o modificador -P em vez deste.

-f  Salta o fsck(8) ao reiniciar.

-F  Força o fsck(8) ao reiniciar.

-n  [DESCONTINUADO] Não chame o init(8) para desligar o computador mas faça-o você mesmo. O uso desta opção está desencorajado, e os seus resultados nem sempre são aqueles que você espera.

-c  Cancela um desligar em espera. (shutdown now não fica mais à espera.) Com esta opção está claro que não é possível dar um argumento de tempo, mas você pode inserir argumentos de mensagem explicativa na linha de comandos que será enviada a todos os utilizadores.

-q  Reduce the number of warnings shutdown displays. Usually shutdown displays warnings every 15 minutes and then every minute in the last 10 minutes of the countdown until time is reached. When -q is specified shutdown only warns at 60 minute intervals, at the 10 minute mark, at the 5 minute mark, and when the shutdown process actually happens.

-Q  Silencia avisos anteriores ao desligar. Normalmente o shutdown mostra avisos a cada 15 minutos e depois a cada minuto nos últimos 10 minutos da contagem até time ser atingido. Quando -Q é especificado O shutdown apenas avisa quando o processo de desligar vai realmente acontecer. Todos os outros avisos intervalados são suprimidos.

-t sec
    Tell init(8) to wait sec seconds between sending all processes the warning (SIGTERM) and the kill signal (SIGKILL), before changing to another runlevel. The default time, if no value is specified, between these two signals is three seconds. Warning: when shutdown calls init(8) to perform the shutdown (the default behavior), init(8) checks to see if all processes have terminated and will stop waiting early once its children have all terminated. When shutdown is called with the -n flag, it waits the full time specified (or three seconds) even if all other processes have terminated.

time
    Quando deve desligar.

warning message
    Mensagem a enviar a todos os utilizadores.

O argumento time pode ter diferentes formatos. Primeiro, pode ser um tempo absoluto no formato hh:mm, no qual hh é a hora (1 ou 2 dígitos) e mm é o minuto da hora (em dois dígitos). Segundo, pode estar no formato +m, no qual m é o número de minutos a esperar. Terceiro, pode estar no formato +hh:mm, no qual hh:mm é o número de horas e minutos a esperar. A palavra now é uma alternativa para +0.

If shutdown is called with a delay, it will create the advisory file /etc/nologin which causes programs such as login(1) to not allow new user logins. This file is created five minutes before the shutdown sequence starts. shutdown removes this file if it is stopped before it can signal init (i.e., it is cancelled or something goes wrong). It also removes it before calling init(8) to change the runlevel.

A bandeira -f significa `reiniciar rápido'. Isto apenas cria um ficheiro de advertência /fastboot o qual pode ser testado pelo sistema quando este volta a arrancar. O ficheiro rc de arranque consegue testar se este ficheiro está presente, e decidir não correr o fsck(8) pois o sistema foi desligado de maneira apropriada. Após isso, o processo de arranque deve remover o /fastboot.

A bandeira -F significa `força o fsck'. Isto apenas cria um ficheiro de advertência /forcefsck o qual consegue ser testado pelo sistema quando este volta a arrancar. O ficheiro rc de arranque consegue testar se este ficheiro está presente, e decidir correr o fsck(8) com a bandeira especial `force' para que mesmo os sistemas de ficheiros desmontados de modo apropriado sejam verificados. Após isso, o processo de arranque deve remover o /forcefsck.

A bandeira -n faz o shutdown não chamar o init(8), mas matar ele próprio todos os processos a correr. O shutdown irá então desligar as cotas, acesso a contas, a memória virtual e desmontar todos os sistemas de ficheiros.

CONTROLE DE ACESSO
O shutdown pode ser chamado a partir do init(8) quando as teclas mágicas CTRL-ALT-DEL são pressionadas, ao criar uma entrada apropriada em /etc/inittab. Isto significa que qualquer um que tenha acesso físico ao teclado de consola consegue desligar o sistema. Para prevenir isto, o shutdown pode verificar e ver se um utilizador autorizado tem sessão aberta em uma das consolas virtuais. Se o If shutdown é chamado com o argumento -a (adicionar isto na invocação do shutdown em /etc/inittab), ele verifica se o ficheiro /etc/shutdown.allow está presente. Ele então compara os nomes de login nesse ficheiro com a lista de pessoas que têm sessão aberta numa consola virtual (a partir de /var/run/utmp). Apenas se um desses utilizadores autorizados ou o root estiver com login aberto, isto irá prosseguir. Caso contrário irá escrever a mensagem

shutdown: no authorized users logged in

na consola de sistema (física). O formato de /etc/shutdown.allow é um nome de utilizador por linha. São permitidas linhas vazias e linhas comentário (prefixadas com um #). Actualmente existe um limite de 32 utilizadores neste ficheiro.

Note que se /etc/shutdown.allow não estiver presente, o argumento -a é ignorado.

HALT OU POWEROFF
The -H option just sets the init environment variable INIT_HALT to HALT, and the -P option just sets that variable to POWEROFF. The script (usually /etc/init.d/halt) that calls the halt(8) program as the last thing in the shutting down sequence should check this environment variable and call the halt(8) program with the right options for these options to actually have any effect.

FICHEIROS
/fastboot
/etc/inittab
/etc/init.d/halt
/etc/init.d/reboot
/etc/shutdown.allow

NOTAS
Muitos utilizadores esquecem de dar o argumento time e ficam baralhados com a mensagem de erro que o shutdown produz. O argumento time é obrigatório; em 90 por cento dos casos este argumento será a palavra now.

O init(8) pode apenas capturar CTRL-ALT-DEL e arrancar o shutdown em mod de consola. Se o sistema está a correr o Sistema de janelas X, o servidor X processa todas as teclas. Alguns ambientes X11 tornam possível capturar CTRL-ALT-DEL, mas o que exactamente é feito com esse evento depende desse ambiente.

O shutdown não foi desenhado para correr setuid. O /etc/shutdown.allow não é usado para descobrir quem está a executar o shutdown, APENAS verifica quem tem actualmente sessão aberta nas consolas (numa delas).

AUTOR
Miquel van Smoorenburg (miquels@cistron.nl)

VEJA TAMBÉM
fsck(8), init(8), halt(8), poweroff(8), reboot(8)