1
resposta

pgrep sempre retornando true

Não consegui fazer o script funcionar conforme demonstrado em aula. Com o serviço do NginX ativo ou inativo, o script sempre entra na opção true (online).

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

#! /bin/bash

if pgrep nginx &> /dev/null then echo "Servico NginX OnLine $( date +"%Y-%m-%d - %H:%M:%S")" else echo "Servico NginX OffLine $( date +"%Y-%m-%d - %H:%M:%S")" fi

1 resposta

Olá!

Parece que o problema está no uso do comando pgrep. Ele pode estar retornando um valor que faz o script sempre entrar na condição true. Aqui estão algumas sugestões para resolver o problema:

  1. Verifique se o Nginx está realmente parando: Use o comando sudo service nginx status para verificar se o serviço está realmente parando quando você tenta interrompê-lo. Às vezes, o serviço pode não estar parando corretamente.

  2. Confirme o nome do processo: Certifique-se de que o nome do processo que você está procurando é realmente nginx. Você pode verificar isso usando o comando ps aux | grep nginx para ver se o processo está listado corretamente.

  3. Teste o comando manualmente: Execute pgrep nginx no terminal para ver se ele está retornando algum PID quando o Nginx está parado. Isso pode ajudar a identificar se há algum problema com o comando pgrep.

  4. Verifique o script: Certifique-se de que o script está salvo corretamente e que não há erros de digitação. Às vezes, pequenos erros podem causar comportamento inesperado.

Bons estudos!