Prioridade dos processos
A prioridade que um processo tem sob o processador, é obtida através da operação:
PR + NI.
- Os valores de
PR podem variar de 0 a 20.
- Os valores de
NI variam de -20 a 19.
O comando
nice:
Este comando é utilizado para iniciar um processo com um valor de
NI pré-definido. Sua sintaxe, é:
# nice -n NI comando
O comando
renice:
Este comando altera o
NI de um processo em execução a partir de seu PID. Sua sintaxe, é:
# renice NI PID
Runlevels (níveis de execução)
Durante o boot, o
GNU/Linux executa diversos processos em uma ordem determinada, chamada de níveis de execução. Estes níveis determinam quais serviços serão inicializados durante o boot.
Os níveis de execução do GNU/Linux, são 7. Sendo eles:
- 0 :: Desligamento rápido do sistema.
- 1 :: Single User. Executa somente o essencial. Utilizado para manutenção do sistema.
- 2 :: Multi User. Modo texto. Compartilhamento NFS desabilitado.
- 3 :: Multi User. Modo texto. Todos os serviços habilitados.
- 4 :: Não utilizado.
- 5 :: Multi User. Modo gráfico com todos os serviços.
- 6 :: Reinicialização do sistema.
Gerenciadores de inicialização de serviços
O GNU/Linux possui três grandes sistemas responsáveis por inicializar os serviços, durante o processo de boot (inicialização do sistema). Estes sistemas são:
System V init Daemon,
systemd e
Upstream.
System V Init Daemon
No
init (System V Init Daemon), o runlevel padrão do sistema operacional, é definido na linha
id:X:initdefault do arquivo
/etc/inittab.
As definição de quais processos serão inicializados em cada runlevel, é feita no diretório
/etc/rcX.d (sendo
X, o número referente ao runlevel de 0 a 6) e seus scripts.
Cada diretório possui os links simbólicos para os serviços referentes ao runlevel em questão. A nomenclatura padrão dos links, é:
(K | S) XX nomeScript
Sendo:
- K :: kill (termina um processo).
- S :: start (inicia um processo).
- XX :: número inteiro que representa a prioridade de execução.
* Importante: números menores, significam maior prioridade.
Ex.:
K01postgresql - Mata o processo "postgresql" com prioridade 01.
- Gerenciar serviços:
Todos os scripts de serviços do sistema, podem ser encontrados no diretório
/etc/init.d. A partir destes scripts, podemos administrar (iniciar, parar, reinicializar) manualmente os serviços do sistema.
systemd
No
systemd, os arquivos de configuração são armazenados no diretório
/etc/systemd/system.
Seu runlevel padrão é definido pelo arquivo
/etc/systemd/system/default.target, que é um link para o runlevel desejado, geralmente, localizado em
/lib/systemd/system.
Para definir o modo texto, deve-se criar um link chamado
multi-user.target que aponte para o runlevel desejado. Para o modo gráfico, o link deve chamar-se
graphical.target.
Gerenciar serviços:
# systemctl opcao servico
Opções:
- Status :: Verifica o estado atual de um serviço.
- Stop :: Para a execução de um serviço.
- Start :: Inicia a execução de um serviço.
- Restart :: Reinicializa um serviço.
- Enable :: Habilita inicialização durante o boot.
- Disable :: Desabilita a inicialização durante o boot.
Upstart
No Upstart, os arquivos de configuração são encontrados no diretório
/etc/event.d, e seus scripts de inicialização, ficam em
/etc/init.
O runlevel padrão do Upstart é configurado no arquivo
/etc/init/rc-sysinit.conf. Para alterar o runlevel em tempo de execução, utiliza-se o comando
telinit.
Como, em:
# telinit x # Sendo x = runlevel desejado
Gerenciar serviços:
# initctl opcao servico
Opções:
- Start :: Inicia um serviço.
- Stop :: Interrompe a execução de um serviço.
- Status :: Mostra o estado de um serviço.
- List :: Lista todos os serviços.
Referências
- Ribeiro, Uirá.
Certificação Linux: Guia para os Exames LPIC-1, CompTIA Linux+ e Novell Linux Administrator.
- Linux Man Pages