Atualização: Respondendo ao comentário:
verifique os processos do apache:
$ ps a | grep apache 3
grep: 3: No such file or directory
$ ps a | grep apache
4514 pts/0 S+ 0:00 grep --color=auto apache
$ ps a | grep apache2
4516 pts/0 S+ 0:00 grep --color=auto apache2
verificando o log de erros do apache
$ tail /var/log/apache2/error.log
[Sun Aug 07 03:14:19 2011] [notice] Apache/2.2.16 (Ubuntu) PHP/5.3.3-1ubuntu9.5 with Suhosin-Patch configured -- resuming normal operations
[Mon Aug 08 03:13:58 2011] [notice] Graceful restart requested, doing restart
[Mon Aug 08 03:14:00 2011] [notice] Apache/2.2.16 (Ubuntu) PHP/5.3.3-1ubuntu9.5 with Suhosin-Patch configured -- resuming normal operations
[Mon Aug 08 09:03:16 2011] [notice] caught SIGTERM, shutting down
[Mon Aug 08 09:05:47 2011] [notice] Apache/2.2.16 (Ubuntu) PHP/5.3.3-1ubuntu9.5 with Suhosin-Patch configured -- resuming normal operations
Original: parei o apache, mas por que ele ainda tem o mesmo número de processos em execução?
$ ps -A | grep apache
1663 ? 00:00:00 apache2
1667 ? 00:00:00 apache2
1668 ? 00:00:00 apache2
1669 ? 00:00:00 apache2
1670 ? 00:00:00 apache2
1671 ? 00:00:00 apache2
$ /etc/init.d/apache2 stop
* Stopping web server apache2 [ OK ]
$ ps -A | grep apache
1663 ? 00:00:00 apache2
1667 ? 00:00:00 apache2
1668 ? 00:00:00 apache2
1669 ? 00:00:00 apache2
1670 ? 00:00:00 apache2
1671 ? 00:00:00 apache2
Obrigado!
Respostas:
Isso pode acontecer ocasionalmente quando o Apache se recusa a parar bem ou possui processos de zumbis . Para o primeiro, você pode matar todos os processos em execução
sudo killall -9 apache2
; no entanto, para o último você precisará simplesmente esperar que eles desapareçam. Caso o Apache não queira parar muito bem, o que você realmente deseja fazer é investigar o que está acontecendo. Descobrir exatamente o que está acontecendo pode ser difícil.Um interativo
strace
do ID do processo pode fornecer uma pista sobre quais sites estão agindo e causando problemas. A partir do exposto,ps -A
você pode verificar o primeiro processo comIsso será anexado ao rastreamento de pilha dos processos em execução, fornecendo saída ao vivo do que está acontecendo. A qualquer momento, você pode Ctrl+C
Um recurso adicional é o principal log de erros do Apache, que pode ser encontrado em
/var/log/apache2/error.log
Você deseja obter uma parte decente do log e examiná-lo para obter detalhes. Se o problema for um problema contínuo em execuçãoEste semelhante ao
strace
será executado em tempo real. Para as últimas N linhas, substitua-f
por-#
onde#
é um número positivo como 50, 100, 282, etc.fonte
Verifique se você possui permissões adequadas para interromper o serviço.
Se você executar:
você não receberá nenhum erro apenas:
Experimentar:
fonte
Eu também tive o mesmo problema e tentei o seguinte:
parar o serviço e
para iniciá-lo novamente.
Funciona para mim, todas as sugestões possíveis são bem-vindas.
fonte
O comando
systemctl stop apache2
funcionou para mim.fonte
Os processos podem ser solicitados (enviando um sinal para eles) para parar. O
kill
comando é uma maneira de fazer isso. Se você conhece o ID do processo (PID), ele pode ser solicitado com facilidade executando o comando abaixo em um terminal:O exemplo acima envia ao PID o sinal TERM padrão (código 15). Você pode procurar os códigos de sinal na página de manual do kill (
man kill
).Quando o programa desconsidera o sinal TERM enviado a eles, ainda é possível aplicar um pouco mais de pressão enviando o sinal KILL (código 9). Este sinal é usado como último recurso, porque o processo pode não salvar dados não salvos.
Especificar a
-SIGNAL_CODE
como o primeiro parâmetro antes do ID do processo enviará ao processo o sinal específico. Outro recurso útil dokill
comando é que você pode especificar mais PIDs, como no exemplo a seguir:Tente finalizar os processos do Apache usando a
kill -9
linha Eles devem parar, a menos que algo os impeça de fazê-lo.fonte
Eu tive o mesmo problema, mas você não pode apenas executar um
service apache2 stop
comando - você precisa executar um processo PER . Então, você PODE querer adicionar umsudo
na frente apenas no caso de estar conectado a uma conta estranha que precisa, portanto, se você vir 9 processos em execução, faça 9sudo service apache2 stop
Funcionou muito bem para mim.
fonte
Depois de instalar o nginx, meu apache parou de funcionar corretamente. Em alguns casos, parece apache confuso com nginx. Basta remover nginx
fonte