JanelasMacSoftwareConfiguraçõesSegurançaProdutividadeLinuxAndroidDesempenhoConfiguraçãoApple Tudo

Como gerenciar serviços usando systemctl

Editado 2 Semanas atrás por ExtremeHow Equipe Editorial

InicializaçãoServiçosLinha de comandoSystemdGestãoControleScripts de InicializaçãoSysAdminConfiguraçãoMonitoramento

Como gerenciar serviços usando systemctl

Tradução atualizada 6 dias atrás

Em qualquer sistema baseado em Linux, os serviços são um aspecto integral. Esses serviços são processos em segundo plano que rodam continuamente para contribuir com várias funcionalidades, como redes, hospedagem de banco de dados, servidores web e muito mais. Gerenciar esses serviços de forma eficiente é uma parte importante da administração do sistema. Este guia explicará como gerenciar serviços usando systemctl, que é uma ferramenta de linha de comando para monitorar e controlar o gerente de sistemas e serviços systemd.

Entendendo systemd e systemctl

Antes de mergulhar em systemctl, é importante entender o que é o systemd. Systemd é um gerente de sistemas e serviços para Linux que fornece capacidades de paralelização, utiliza soquetes e ativação D-Bus para iniciar serviços, fornece inicialização de daemon sob demanda, mantém o controle de processos usando grupos de controle do Linux e mantém pontos de montagem e automontagem.

systemctl é uma ferramenta de linha de comando usada para gerenciar o systemd. Ele fornece várias opções para controlar e gerenciar serviços e unidades. Unidades são recursos que o systemd sabe como gerenciar; estas geralmente incluem serviços, mas também outros tipos, como pontos de montagem e soquetes.

Listando serviços

Antes de gerenciar serviços, é bom saber como listá-los para entender os serviços que estão em execução atualmente. Os seguintes comandos ajudarão:

systemctl list-units --type service --all

Este comando lista todos os serviços e mostra o status de cada um. A saída mostrará se cada serviço está ativo, inativo ou falhou.

Iniciando o serviço

Para iniciar um serviço que não está atualmente em execução, use o comando start da seguinte maneira:

sudo systemctl start <service-name>

Por exemplo, para iniciar o servidor HTTP Apache, você executaria:

sudo systemctl start httpd

Parando o serviço

Se você precisar parar um serviço, o comando stop é usado. Isso é útil em vários cenários, como ao realizar manutenção ou atualizações:

sudo systemctl stop <service-name>

Exemplo:

sudo systemctl stop httpd

Isso para a execução do Servidor HTTP Apache.

Reiniciando o serviço

Às vezes, em vez de parar e reiniciar um serviço, pode ser desejável reiniciá-lo diretamente. Isso pode ser feito com o comando restart:

sudo systemctl restart <service-name>

Exemplo:

sudo systemctl restart httpd

Isso reinicia o servidor HTTP Apache. Isso é especialmente útil quando você fez alterações no arquivo de configuração e deseja que o serviço recarregue essas alterações.

Verificando o status de um serviço

Para verificar se um serviço está em execução, você pode usar o comando status. Ao fazer isso, você obtém informações sobre o status atual do serviço, quaisquer mensagens de erro e saída de log:

systemctl status <service-name>

Por exemplo:

systemctl status httpd

Isso exibirá informações detalhadas sobre o serviço httpd, mostrando se está ativo, habilitado, ou se teve algum problema durante sua última inicialização.

Habilitando e desabilitando serviços

Habilitar um serviço garante que ele inicie automaticamente na inicialização. Por outro lado, desabilitar um serviço significa que ele não será iniciado automaticamente:

sudo systemctl enable <service-name>
sudo systemctl disable <service-name>

Por exemplo, para habilitar o Servidor HTTP Apache:

sudo systemctl enable httpd

Da mesma forma, para evitar que ele inicie automaticamente:

sudo systemctl disable httpd

Habilitar é particularmente benéfico para serviços que você deseja que estejam sempre em execução quando seu sistema estiver ligado, como servidores web ou de banco de dados.

Mascarando e desmascarando serviços

Mascarar um serviço é uma forma poderosa de garantir que um serviço não execute de maneira alguma. Uma vez que um serviço é mascarado, ele não pode ser iniciado de forma alguma até ser desmascarado:

sudo systemctl mask <service-name>
sudo systemctl unmask <service-name>

Exemplo:

sudo systemctl mask httpd

Este comando garante que, mesmo que você tente iniciar o servidor HTTP Apache, ele não começará. Para permitir que ele execute novamente, desmascare-o:

sudo systemctl unmask httpd

Recarregando a configuração do gerenciador systemd

Se você fizer alterações nos arquivos de configuração relacionados ao systemd, deve recarregar a configuração do gerenciador systemd usando o seguinte comando:

sudo systemctl daemon-reload

Este comando é especialmente importante quando você adiciona novos arquivos de configuração ou faz alterações em arquivos existentes nos diretórios /etc/systemd/system ou /lib/systemd/system.

Editando unidades de serviço

Às vezes, pode ser necessário editar arquivos de unidades de serviço para personalizar o comportamento do serviço. Com o systemctl, você pode fazer isso sem acessar diretamente os arquivos de serviço:

sudo systemctl edit <service-name>

Isso abre o arquivo de unidade no seu editor de texto padrão. Assim que salvar suas alterações e fechar o editor, o systemctl criará uma substituição. Não se esqueça de recarregar a configuração do gerenciador systemd depois.

Conclusão

Gerenciar serviços usando systemctl é uma habilidade essencial para qualquer administrador de sistemas Linux. Esta poderosa ferramenta fornece comandos simples para controlar os serviços em execução no sistema. Seja iniciando, parando, habilitando ou desabilitando serviços, o systemctl simplifica esses processos, aumentando a confiabilidade e o desempenho do sistema.

Também é importante entender os níveis de gerenciamento de serviços, desde operações simples, como iniciar e parar, até operações complexas, como mascarar ou editar arquivos de unidade. À medida que você se torna mais confortável usando o systemctl, será capaz de gerenciar serviços em um sistema Linux de maneira mais eficaz, o que contribuirá para a estabilidade e eficiência geral do sistema.

Se você encontrar algo errado com o conteúdo do artigo, você pode


Comentários