Gerenciar serviços em sua distribuição GNU / Linux

esquema do init Linux

Ao trabalhar com serviços em uma distroDependendo do tipo de sistema que você está usando (SysV init, Upstart, systemd, ...), a maneira como os serviços podem ser interrompidos, iniciados, interrompidos, reiniciados, etc., pode variar. É um ponto onde muitos duvidam de como se faz de fato, e o fato de existirem vários sistemas diferentes não ajuda alguns usuários mais inexperientes, que tentam fazê-lo com o comando errado.

Portanto, vou mostrar um tutorial simples com o qual ficará mais claro para você como você pode trabalhar na sua distro, seja ela qual for. Para fazer isso, a primeira coisa que você precisa saber é o tipo de demônio que está usando. Como eu disse, nem todas as distros usam o mesmo tipo de sistema de inicialização. Na verdade, como você sabe, alguns se opuseram ao novo systemd e geraram forks ou derivados com o antigo SysV, como é o caso do Devuan em comparação com o Debian ...

Como posso saber o sistema que minha distribuição usa? Bem, você pode descobrir pesquisando essas rotas e, se as tiver, terá esse sistema em sua distribuição:

  • Para saber se você tem o systemd: encontre o caminho / usr / lib / systemd
  • Para saber se você tem Upstart: encontre este outro caminho / usr / share / upstart
  • Para saber se você tem SysV init: encontre o caminho /etc/init.d
  • Feno outrosMesmo que seja um pouco mais raro, nesses casos particulares, você pode fazer algo semelhante se suspeitar que eles não são os anteriores.

Outra maneira de tornar ainda mais fácil, porque é igual para todos, é procurar informações em / proc sobre o PID = 1, ou seja, o primeiro processo do qual o resto trava e que corresponde justamente a este daemon de inicialização. Para fazer isso, basta executar o seguinte comando e ele retornará o nome:

sudo stat /proc/1/exe

Agora você sabe qual sistema você tem, portanto, vamos os comandos que você pode usar para gerenciar serviços:

  • Inicialização SysV: /etc/init.d/[service_demon_name] [ação]
  • sistema: systemctl [ação] [service_demon_name]
  • Upstart: serviço [service_demon_name] [ação]
  • outros: Se você usa um sistema diferente, é melhor olhar o manual. Por exemplo, alguns casos raros no Linux e outros Unixes podem usar o sinal do processo SIGHUP para redefinir um serviço: kill -HUP $ (cat / var / run / [service-PID])

Você deveria substituir [ação] para o que você precisa fazer. Por exemplo, se você precisar reiniciar, use reset, se você quiser parar de usar parar, se quiser começar a usar estrela, etc. E substitua [daemon_name] pelo nome do daemon do serviço que você deseja iniciar. Por exemplo:

systemctl reset httpd

Espero que você tenha entendido melhor agora.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   CRISTIAN dito

    Ainda existem sistemas com upstart? Acho que apenas um Ubuntu antigo.
    Além disso, mesmo se você tiver o systemd, você ainda pode ter a pasta etc / init.d
    Eu prefiro usar algum outro comando como ps ou pstree, e não abusar de sudo-this-sudo-that.
    lembranças

  2.   CRISTIAN dito

    O comando "service" funciona em sistemas init.d e systemd