Не способный остановить апачские процессы

Обновление: Ответ на комментарий:

процессы проверки апача:

$ 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

проверка апачского журнала ошибок

$ 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

Исходный: Я остановил апача, но почему он все еще имеет то же количество выполнения процессов?

$ 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

Спасибо!

16
задан 8 August 2011 в 07:10

7 ответов

Это может происходить иногда, когда Apache отказывается останавливаться приятно или имеет Процессы-зомби. Для первого можно уничтожить все рабочие процессы с sudo killall -9 apache2; однако, для последнего Вы будете простая потребность ожидать их, чтобы уйти. В конечном счете это - Apache, не желая остановиться приятно, что Вы действительно захотите сделать, исследуют то, что продолжается. Обнаружение точно, что продолжается, может быть трудным все же.

Интерактивное strace из процесса идентификатор может предоставить подсказку относительно того, какой сайт (сайты) капризничают и вызывают проблемы. От Вашего выше ps -A можно проверить первый процесс с

strace -p 1663

Это присоединит к рабочему отслеживанию стека процессов, обеспечивающему живой вывод того, что продолжается. В любое время Вы можете Ctrl+C

Дополнительный ресурс является основным журналом ошибок для Apache, в котором это может быть найдено /var/log/apache2/error.log Вы захотите получить достойный блок журнала и просмотреть его для деталей. Если проблемой является выполнение текущей проблемы

tail -f /var/log/apache2/error.log

Это подобное strace будет работать в в реальном времени. Для последней замены строк N -f с -# где # положительное число как 50, 100, 282, и т.д.

27
ответ дан 23 November 2019 в 02:30

Процессы можно спросить (путем отправки сигнала им) для остановки. kill команда является способом сделать это. Если Вы знаете идентификатор процесса (PID) процесса, его можно спросить приятно путем выполнения команды ниже в терминале:

kill PID_OF_YOUR_PROCESS

Вышеупомянутый пример отправляет, PID сигнал ТЕРМИНА по умолчанию (кодируйте 15). Можно искать коды сигнала в странице справочника уничтожения (man kill).

Когда программа игнорирует ТЕРМИН сигнал, отправленный им, все еще возможно оказать немного больше давления путем отправки Сигнала уничтожения (кодируйте 9). Этот сигнал используется как последнее прибежище, потому что процесс не мог бы сохранить несохраненные данные.

Определение a -SIGNAL_CODE как первый параметр, прежде чем идентификатор процесса отправит процессу определенный сигнал. Другая полезная функция kill команда состоит в том, что можно указать больше PIDs как в следующем примере:

kill -9 PID1 PID2 PID3 PID4

Попытайтесь завершить процессы Apache при помощи kill -9 строка. Они должны остановиться, если что-то не блокирует их от выполнения так.

0
ответ дан 23 November 2019 в 02:30

Я также имел ту же проблему и попробовал следующее:

sudo apache2ctl stop

остановить сервис, и

sudo apache2ctl start

запустить его снова.

Это работает на меня, любые возможные предложения приветствуются.

2
ответ дан 23 November 2019 в 02:30

Удостоверьтесь, что у Вас есть верные полномочия остановить сервис.

Если Вы работаете:

service apache2 stop

Вы не получите ошибки просто:

* Останавливающийся веб-сервер apache2

Попытка:

sudo service apache2 stop      
7
ответ дан 23 November 2019 в 02:30

У меня была та же проблема, но Вы не можете только сделать того service apache2 stop команда - необходимо сделать одно Для каждого процесса. Затем МОЖНО хотеть добавить a sudo впереди на всякий случай Вы зарегистрированы в некоторую нечетную учетную запись, для которой нужен он поэтому, если Вы видите, что 9 процессов работают, сделайте 9 sudo service apache2 stop

Работавший отлично для меня.

0
ответ дан 23 November 2019 в 02:30

После установки nginx моя апачская остановленная работа правильно. Кажется в некоторых случаях апачу, путающему с nginx. Просто удалите nginx

sudo apt-get purge nginx nginx-common
sudo apt-get autoremove
-2
ответ дан 23 November 2019 в 02:30

Команда systemctl stop apache2 работавший для меня.

1
ответ дан 23 November 2019 в 02:30

Другие вопросы по тегам:

Похожие вопросы: