Como administrador de sistema, você provavelmente está lidando com muitos serviços todos os dias.
No Linux , os serviços são usados para muitos fins diferentes.
Eles podem ser usados para iniciar um servidor SSH em sua máquina ou podem realizar algumas operações em uma hora ou dia específico.
Se você estiver usando uma distribuição baseada em Debian ou um RedHat, os serviços de consulta são muito semelhantes.
No entanto, dada a distribuição que você está usando, e mais especificamente o sistema de inicialização (init ou systemd), você pode ter que usar comandos diferentes.
Neste tutorial, você aprenderá como você pode, com seu gerenciador de sistema, listar todos os serviços em sua máquina Linux.
Índice
Determine o gerenciador de sistema usado
Como você provavelmente sabe, as distribuições recentes usam o gerenciador de sistema Systemd.
No entanto, nem sempre foi o caso: no passado, a maioria das distribuições usava o gerenciador de sistema SysVinit.
Como consequência, existem realmente duas maneiras de gerenciar seus serviços em um sistema Linux.
Antes de aprender os comandos para listar serviços, você deve conhecer o gerenciador de sistema que está usando no momento.
Para determinar seu gerenciador de sistema atual, a maneira mais fácil é usar o ” pstree ”e para verificar o primeiro processo executado em seu sistema.
Se você vir “systemd”, obviamente significa que você está usando o systemd. No entanto, se vir ” init “, significa que você está usando SysVinit.
No Ubuntu 14.04, que ainda está usando o antigo sistema init, seu” pstree “pode ter esta aparência.
Listar serviços usando systemctl
A maneira mais fácil de listar serviços no Linux, quando você está em um sistema systemd, é usar o comando “systemctl” seguido por “list-units”. Você pode especificar a opção “–type = serviço” para restringir os resultados apenas aos serviços.
Por padrão, este comando mostrará apenas os serviços que estão ativos ou os serviços que falharam em seu sistema. Na captura de tela acima, a maioria dos serviços está ativa, mas o logrotate (destacado em vermelho) está marcado como falho.
Incrível, você aprendeu como pode listar facilmente seus serviços em um servidor Linux.
No entanto, como você deve ter notado, você não tinha acesso a todos os serviços: e os serviços inativos? E os serviços que não foram carregados pelo systemd na inicialização?
Listar todos os serviços em Linux usando unidades de lista
Para listar todos os serviços, ou seja, ativos e inativos, você deve usar o comando “systemctl list-units” seguido da opção “–all”.
Da mesma forma, você pode limitar os resultados aos serviços apenas usando o filtro de tipo.
Como você pode ver, os serviços inativos também listados, o que pode ser conveniente se você apenas escrever seu serviço e cuidar dele na lista.
Nesse caso, apenas os serviços carregados são listados. Na inicialização, o systemd carrega arquivos de unidade e pode escolher não carregar um serviço específico se descobrir que ele não será usado pelo sistema.
Como consequência, há uma diferença real entre “carregado Serviços ”e“ instalados ”. Serviços “instalados” significam que os arquivos de unidade podem ser encontrados nos caminhos correspondentes.
Listar serviços por estado
Em alguns casos, você pode estar interessado apenas em serviços que falharam. Para isso, você pode especificar o estado que você está procurando como uma opção do comando systemctl.
Onde “estado” pode ser um dos seguintes valores: ativo, inativo, ativando, desativando, com falha, não encontrado ou morto.
Por exemplo, se estamos apenas interessados em serviços “com falha”, vamos executar o seguinte comando
Listar todos os arquivos de serviço usando list-unit-files
Finalmente, se você estiver interessado em arquivos de serviço “carregado”, “instalado”, “desabilitado” e “habilitado”, existe um outro comando isso pode ser muito útil.
Para listar todos os arquivos de serviço disponíveis, você deve usar o comando “systemctl” seguido de “list-unit-files”. Opcionalmente, você pode especificar o tipo usando a opção “–type = serviço”.
Como alternativa, você pode usar o comando “grep” para pesquisar caminhos específicos em seu sistema que podem conter arquivos de serviço.
Parabéns, você aprendeu como pode listar serviços se seu sistema estiver usando o systemd!
Listar serviços usando serviço
A maneira mais fácil de listar serviços no Linux, quando você estiver em um sistema SystemV init, é usar o ” service ”comando seguido pela opção” –status-all ”. Dessa forma, você será apresentado a uma lista completa de serviços em seu sistema.
Como você pode ver, cada serviço é listados precedidos por símbolos entre colchetes. Esses símbolos significam:
- +: significa que o serviço e está em execução;
- -: significa que o serviço não está em execução;
- ? : significa que o Ubuntu não foi capaz de dizer se o serviço está rodando ou não.
Então, por que alguns serviços informam se estão rodando ou não, e outros não?
Tudo se resume à implementação do script init. Em alguns scripts, como o script udev, por exemplo, você pode ver que o comando “status” está implementado.
Este não é o caso do script” dns-clean “, por exemplo, que é o motivo pelo qual você tem uma pergunta marque ao consultar este serviço.
Listar serviços SysVinit em pastas
Outra maneira de listar a lista atual de serviços é usar o comando “ls” nas pastas que contêm todos os scripts em um sistema Linux, a saber “/etc/init.d”.
Conclusão
Neste tutorial, você aprendeu como pode facilmente listar serviços em um sistema Linux se você estiver usando os do systemd ou do SysVinit.
Se você estiver interessado em criar seus próprios serviços, recomendamos que você dê uma olhada nos seguintes recursos. Eles podem ser realmente úteis para conseguir isso corretamente.
- Escrever um script de inicialização para sistemas init;
- Iniciar serviços na inicialização usando systemd;
Se você estiver interessado em Administração de sistemas Linux, temos uma seção completa sobre este assunto no site, portanto, certifique-se de dar uma olhada.
Ícones feitos por Freepik da FlatIcon