Como rodar o servidor apache se ele ainda não estiver rodando

-1

Gostaria de saber se é possível verificar se o apache2 está ou não em execução. Se não estiver em execução, quero executá-lo usando shellscript

Atualmente eu adicionei uma função que eu nomeei run_apache que simplesmente vai para o diretório com o apache2 inicia. Eu adicionei essa função ao meu arquivo .bashrc . No entanto, ele será executado toda vez que eu abrir um novo shell, o que não quero, a menos que o apache2 já não esteja em execução.

    
por starcorn 21.04.2013 / 14:53

3 respostas

3

Você pode obter facilmente o status de apache2 iniciando

/etc/init.d/apache2 status

Isso produzirá um destes:

Apache2 is NOT running.
Apache2 is running (pid 10281).

Ele também fornece um status de retorno válido, que você pode usar em um shell script (e descarta sua saída normal com > /dev/null ):

if /etc/init.d/apache2 status > /dev/null;
then echo "Apache already running";
else echo "Apache not running";
fi

Devo acrescentar que não há nenhum mal ao tentar iniciar o Apache quando ele já está em execução. Então, /etc/init.d/apache2 start dirá apenas:

Starting web server: apache2httpd (pid 10281) already running
    
por 21.04.2013 / 15:07
0

Você poderia adicionar ao arquivo /etc/rc.local do seu sistema o comando de inicialização do Apache, que o executaria no final do processo de inicialização.

Não deve haver necessidade de verificar se está sendo executado, pois, teoricamente, ele deve continuar em execução.

    
por 21.04.2013 / 15:06
0

Bem, eu sei que é tarde demais, mas alguém pode precisar. Eu uso o cygwin com o consoleZ.

  1. Primeiro, abra o arquivo .bash_aliases e adicione estas linhas %código%
  2. Em segundo lugar, em .bash_functions, copie essa função %código%
por 10.04.2015 / 16:26