Обновление: Ответ на комментарий:
проверьте процессы 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
проверка журнала ошибок 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
Оригинал: я остановил apache, но почему он все еще имеет такое же количество запущенных процессов?
$ 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
Благодарность!
Ответы:
Это может происходить иногда, когда Apache отказывается красиво останавливаться или имеет Зомби-процессы . Для первого вы можете убить все запущенные процессы с помощью
sudo killall -9 apache2
; однако для последнего вам просто нужно подождать, пока они уйдут. В случае, если Apache не хочет красиво останавливаться, вы действительно захотите выяснить, что происходит. Однако выяснить, что именно происходит, может быть сложно.Интерактивность
strace
идентификатора процесса может дать представление о том, какие сайты ведут себя и вызывают проблемы. С вашего вышеps -A
вы можете проверить первый процесс сЭто прикрепит к трассировке стека запущенных процессов, обеспечивая оперативный вывод происходящего. В любое время вы можете Ctrl+C
Дополнительным ресурсом является основной журнал ошибок для Apache, его можно найти в
/var/log/apache2/error.log
разделе. Вы захотите получить приличный кусок журнала и просмотреть его для деталей. Если проблема не решенаЭто похоже на
strace
запуск в реальном времени. Для последних N строк замените-f
на-#
где#
положительное число, например 50, 100, 282 и т. Д.источник
Убедитесь, что у вас есть соответствующие разрешения для остановки службы.
Если вы запускаете:
вы не получите никакой ошибки просто:
Пытаться:
источник
У меня тоже была такая же проблема, и я попробовал следующее:
чтобы остановить службу, и
чтобы начать это снова.
Это работает для меня, любые возможные предложения приветствуются.
источник
Команда
systemctl stop apache2
сработала для меня.источник
Процессы можно попросить (отправив им сигнал ) остановить. Команда
kill
это способ сделать это. Если вам известен идентификатор процесса (PID), его можно легко задать, выполнив следующую команду в терминале:Приведенный выше пример отправляет PID сигнал TERM по умолчанию (код 15). Вы можете посмотреть коды сигналов в справочной странице kill (
man kill
).Когда программа игнорирует отправленный им сигнал TERM, все равно можно применить немного большее давление, отправив сигнал KILL (код 9). Этот сигнал используется в качестве крайней меры, поскольку процесс может не сохранять несохраненные данные.
Указание в
-SIGNAL_CODE
качестве первого параметра перед идентификатором процесса отправит процессу определенный сигнал. Еще одна полезная функцияkill
команды - вы можете указать больше идентификаторов PID, как в следующем примере:Попробуйте завершить процессы Apache, используя
kill -9
строку. Они должны остановиться, если что-то не мешает им сделать это.источник
У меня была та же проблема, но вы не можете просто выполнить одну
service apache2 stop
команду - вам нужно выполнить один процесс PER . Затем вы МОЖЕТЕ добавитьsudo
фронт в случае, если вы вошли в какую-то нечетную учетную запись, которая нуждается в этом, поэтому, если вы видите 9 запущенных процессов, сделайте 9sudo service apache2 stop
Отлично сработало для меня.
источник
После установки nginx мой apache перестал работать правильно. Кажется, в некоторых случаях Apache путает с nginx. Просто удали nginx
источник