Como gerenciar serviços systemd usando o comando systemctl no Linux
Gerenciar serviços é uma das principais responsabilidades dos administradores de sistema Linux. Saber como gerenciar os serviços do sistema também é importante para os usuários do Linux, pois eles podem ter que lidar com os serviços de uma forma ou de outra.
Este guia dá uma olhada em como gerenciar serviços systemd usando o comando systemctl.
O que é o systemd?
Systemd é um gerenciador de sistema e serviços para sistemas operacionais Linux. É o gerenciador de serviço padrão em muitas distros Linux, incluindo Ubuntu, Red RHEL, OpenSuse e Arch Linux. O Systemd é o sucessor de gerenciadores de serviços mais antigos, como System V e Upstart .
Ao contrário do gerenciador de serviço System V, o systemd pretende ser mais eficiente iniciando serviços em paralelo para acelerar o processo de inicialização do Linux. Outro recurso exclusivo do systemd é que ele fornece serviços sob demanda, ou seja, pode adiar o início de um serviço apenas quando o sistema precisar, o que melhora muito o desempenho.
O Systemd não se restringe apenas ao gerenciamento de processos ou serviços operacionais, mas também pode ser usado para montar sistemas de arquivos, monitorar redes, executar temporizadores e muito mais.
Gerenciando serviços systemd usando systemctl
No Linux, o comando systemctl é responsável por gerenciar os serviços do systemd. Se você tiver o diretório / usr / lib / systemd em seu sistema, provavelmente está usando o gerenciador de serviço systemd.
Você também pode executar qualquer um dos seguintes comandos para verificar se o gerenciador de serviço systemd está disponível em seu sistema.
systemctl --version
systemd --version
Verificando o status de um serviço
Para verificar o status de um serviço específico em seu sistema, use o comando status seguido pelo nome do serviço que deseja verificar.
Por exemplo, para verificar o status do serviço docker , você pode executar o seguinte comando. Docker é um programa de virtualização moderno usado por desenvolvedores de software para construir aplicativos de forma eficiente.
systemctl status docker
Observação: o manual de ajuda do systemctl também se refere ao verbo após o systemctl como um comando, portanto, este guia seguirá essa definição para consistência.
Além de listar o status do serviço, o comando status também fornece informações importantes, como a ID do processo do serviço, o uso de memória e uma lista simples de alterações recentes no serviço.
Saber o status de um serviço é uma das principais maneiras que você usará para solucionar erros ou diagnosticar problemas. Antes de entrar em detalhes sobre o motivo pelo qual algo não está funcionando, os administradores de sistema tendem a verificar se o serviço está instalado e funcionando primeiro.
Serviços de listagem com systemctl
Freqüentemente, você precisará saber quais serviços estão disponíveis em seu sistema antes de continuar a gerenciá-los. Você pode usar o seguinte comando para listar todos os serviços disponíveis em seu sistema.
systemctl list-unit-files --type service --all
Além de listar os serviços disponíveis em seu sistema, o comando também mostrará o estado desses serviços. Os estados mais comuns incluem; habilitado, desabilitado, mascarado, etc.
Iniciando e interrompendo serviços
O comando stop é usado para interromper um serviço que você não deseja mais executar. Por exemplo, para interromper o serviço docker :
systemctl stop docker
Existem vários motivos para interromper os serviços em sua máquina Linux. Os serviços não utilizados consomem recursos desnecessários do sistema e afetam negativamente o desempenho do seu PC.
Se um serviço estiver consumindo muita memória, considere outras opções para gerenciar a memória no Linux . Ter vários serviços em execução também é um risco potencial de segurança, porque você expõe mais portas para exploração para o mundo exterior.
Para iniciar um serviço que não está em execução, use o comando start . Por exemplo, para iniciar o serviço docker que você interrompeu recentemente:
systemctl start docker
Se você deseja interromper um serviço e reiniciá- lo imediatamente, pode usar o comando de reinicialização da seguinte maneira.
systemctl restart docker
Ativando e desativando serviços
Os termos Habilitando e Iniciando serviços costumam ser confusos para alguns usuários do Linux. Ao habilitar um serviço, você está dizendo que o serviço deve ser disponibilizado quando o sistema é inicializado ou define um serviço pronto quando um hardware específico é conectado. Para habilitar o serviço docker no Linux:
systemctl enable docker
Para desabilitar a inicialização de um serviço, você pode usar o comando disable . Por exemplo, emita o seguinte comando para desativar o serviço docker .
systemctl disable docker
Obtendo ajuda relacionada ao systemctl
Existem muitos outros comandos e opções que você pode usar para gerenciar serviços em seu sistema. Execute o comando help systemctl –help ou dê uma olhada nas páginas de manual do systemctl se você não conseguir descobrir como usar o comando.
man systemctl
Muitas vezes, alguns serviços são iniciados quando o sistema é inicializado. Esses serviços, se não forem necessários para o sistema, afetam o desempenho geral do computador. Você pode interromper facilmente esses serviços de inicialização e daemons no Linux.