No começo da inicialização do sistema, o programa /sbin/init detecta o runlevel indicado no arquivo /etc/inittab ou ao carregar o kernel e carrega os serviços e scripts correspondentes.
Os scripts executados pelo init ficam em /etc/init.d ou /etc/rc.s, dependendo da distribuição.
Por ser o primeiro programa iniciado após o kernel, o PID(Número de identificação do processo) do init será 1.
Peso: 3
Runlevels
- Runlevel é o nível de execução do sistema.
- Os runlevels são numerados de 0 a 6
- As funções dos runlevels podem mudar dependendo da distro.
- Os runlevels são definidos no arquivo /etc/inittab.
- Esse arquivo segue o padrão: id:runlevels onde a ação será executada:ação:processo(Exemplo: si::sysinit:/etc/init.d/rcS)
- Os runlevels que são iguais em todas as distros são 0, 1 e 6
- O runlevel padrão é definido na entrada id:número do runlevel:initdefault no arquivo /etc/inittab
Números dos runlevels
- 0: desligamento
- 1: usuário único
- 2: multiusuário
- 3: multiusuário – login gráfico
- 4: multiusuário – login gráfico
- 5: multiusuário – login gráfico
- 6: reinicialização
Alternando entre runlevels
Para identificar qual é o runlevel atual, use o comando runlevel. Esse comando retorna 2 números: o primeiro é o runlevel anterior e o segundo é o runlevel atual.
É possível alterar o runlevel usando o comando init ou telinit usando o número do runlevel como argumento.
Ações de runlevels
- sysinit – processo executado no boot
- wait – o processo será executado e o init vai aguardar o termino
- ctrlaltdel – o processo será executado quando o usuário pressionar Ctrl+Alt+Del
Desligamento e reinicialização
Comando shutdown
- é usado para desligar o sistema
- notifica todos os usuários do sistema com uma mensagem no terminal(não se esqueça que o Linux é um sistema multiusuário)
- envia o sinal SIGTERM, seguido de SIGKILL a todos os processos
- a sintaxe do shutdown é: shutdown [opção] horário [mensagem]
- se não usar nenhuma opção, o sistema retorna para o runlevel 1
Principais opções do shutdown
- -h: Desligar
- -r: Reiniciar
- -t segundos: define tempo de espera
- -a: usa o arquivo de permissões /etc/shutdown.allow
Argumento horário
- now: execução imediata
- +m: quantos minutos até a execução
- hh:mm: horário da execução
Argumento mensagem
- será o aviso enviado aos usuários logados no sistema
no próximo artigo veremos Systemd e Upstart