Невозможно остановить процессы apache

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

проверяет процессы 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

Update : Я остановил 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

Спасибо!

14
задан 8 August 2011 в 19:10

35 ответов

Это может случиться, когда Apache отказывается прекратить красиво или имеет Zombie Processes. Для первого вы можете убить все запущенные процессы с помощью 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 и т. Д.

23
ответ дан 25 July 2018 в 21:29

У меня тоже была такая же проблема, и я попробовал следующее:

sudo apache2ctl stop

, чтобы остановить службу, и

sudo apache2ctl start

, чтобы запустить его снова.

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

2
ответ дан 25 July 2018 в 21:29

У меня была такая же проблема, но вы не можете просто сделать одну команду service apache2 stop - вам нужно сделать один процесс PER. Затем вы можете добавить sudo спереди, если вы вошли в какую-то нечетную учетную запись, которая ему нужна, поэтому, если вы видите 9 процессов, выполните 9 sudo service apache2 stop

Отлично работает для я.

0
ответ дан 25 July 2018 в 21:29

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

kill PID_OF_YOUR_PROCESS

В приведенном выше примере передается PID по умолчанию TERM-сигнал (код 15 ). Вы можете найти коды сигналов на странице man kill (man kill).

Когда программа игнорирует переданный им сигнал TERM, все же можно применить немного большее давление, отправив Сигнал KILL (код 9). Этот сигнал используется в качестве последнего средства, поскольку процесс может не сохранять несохраненные данные.

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

kill -9 PID1 PID2 PID3 PID4

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

0
ответ дан 25 July 2018 в 21:29
  • 1
    Если читатель не знаком с командой «kill», почти нет шансов, что они узнают, как найти PID процесса apache2. – Max Barraclough 10 June 2018 в 00:55

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

sudo apt-get purge nginx nginx-common sudo apt-get autoremove
-2
ответ дан 25 July 2018 в 21:29

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

1
ответ дан 25 July 2018 в 21:29

Убедитесь, что у вас есть соответствующие разрешения для остановки службы.

Если вы запустите:

service apache2 stop

, вы не получите никакой ошибки:

* Остановка веб-сервера apache2

Попробуйте:

sudo service apache2 stop
6
ответ дан 25 July 2018 в 21:29
  • 1
    когда памяти недостаточно или почти полностью заполнено, это не удастся, killall - единственное решение – James Tan 23 April 2018 в 07:53

Это может случиться, когда Apache отказывается прекратить красиво или имеет Zombie Processes. Для первого вы можете убить все запущенные процессы с помощью 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 и т. Д.

23
ответ дан 2 August 2018 в 03:07

У меня тоже была такая же проблема, и я попробовал следующее:

sudo apache2ctl stop

, чтобы остановить службу, и

sudo apache2ctl start

, чтобы запустить его снова.

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

2
ответ дан 2 August 2018 в 03:07

У меня была такая же проблема, но вы не можете просто сделать одну команду service apache2 stop - вам нужно сделать один процесс PER. Затем вы можете добавить sudo спереди, если вы вошли в какую-то нечетную учетную запись, которая ему нужна, поэтому, если вы видите 9 процессов, выполните 9 sudo service apache2 stop

Отлично работает для я.

0
ответ дан 2 August 2018 в 03:07

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

kill PID_OF_YOUR_PROCESS

В приведенном выше примере передается PID по умолчанию TERM-сигнал (код 15 ). Вы можете найти коды сигналов на странице man kill (man kill).

Когда программа игнорирует переданный им сигнал TERM, все же можно применить немного большее давление, отправив Сигнал KILL (код 9). Этот сигнал используется в качестве последнего средства, поскольку процесс может не сохранять несохраненные данные.

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

kill -9 PID1 PID2 PID3 PID4

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

0
ответ дан 2 August 2018 в 03:07
  • 1
    Если читатель не знаком с командой «kill», почти нет шансов, что они узнают, как найти PID процесса apache2. – Max Barraclough 10 June 2018 в 00:55

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

sudo apt-get purge nginx nginx-common sudo apt-get autoremove
-2
ответ дан 2 August 2018 в 03:07

команда systemctl stop apache2 работал для меня.

1
ответ дан 2 August 2018 в 03:07

убедитесь, что у вас есть соответствующие разрешения, чтобы остановить службу.

если вы запустите:

service apache2 stop

Вы не будете получать какой-либо ошибки просто:

* остановить веб-сервер apache2

попробуйте:

sudo service apache2 stop
6
ответ дан 2 August 2018 в 03:07
  • 1
    когда не хватает памяти или своп почти полный , это не удастся, команду killall является единственным решением – James Tan 23 April 2018 в 07:53

Это может случиться, когда Apache отказывается прекратить красиво или имеет Zombie Processes. Для первого вы можете убить все запущенные процессы с помощью 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 и т. Д.

23
ответ дан 4 August 2018 в 18:59

У меня тоже была такая же проблема, и я попробовал следующее:

sudo apache2ctl stop

, чтобы остановить службу, и

sudo apache2ctl start

, чтобы запустить его снова.

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

2
ответ дан 4 August 2018 в 18:59

У меня была такая же проблема, но вы не можете просто сделать одну команду service apache2 stop - вам нужно сделать один процесс PER. Затем вы можете добавить sudo спереди, если вы вошли в какую-то нечетную учетную запись, которая ему нужна, поэтому, если вы видите 9 процессов, выполните 9 sudo service apache2 stop

Отлично работает для я.

0
ответ дан 4 August 2018 в 18:59

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

kill PID_OF_YOUR_PROCESS

В приведенном выше примере передается PID по умолчанию TERM-сигнал (код 15 ). Вы можете найти коды сигналов на странице man kill (man kill).

Когда программа игнорирует переданный им сигнал TERM, все же можно применить немного большее давление, отправив Сигнал KILL (код 9). Этот сигнал используется в качестве последнего средства, поскольку процесс может не сохранять несохраненные данные.

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

kill -9 PID1 PID2 PID3 PID4

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

0
ответ дан 4 August 2018 в 18:59
  • 1
    Если читатель не знаком с командой «kill», почти нет шансов, что они узнают, как найти PID процесса apache2. – Max Barraclough 10 June 2018 в 00:55

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

sudo apt-get purge nginx nginx-common sudo apt-get autoremove
-2
ответ дан 4 August 2018 в 18:59

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

1
ответ дан 4 August 2018 в 18:59

Убедитесь, что у вас есть соответствующие разрешения для остановки службы.

Если вы запустите:

service apache2 stop

, вы не получите никакой ошибки:

* Остановка веб-сервера apache2

Попробуйте:

sudo service apache2 stop
6
ответ дан 4 August 2018 в 18:59
  • 1
    когда памяти недостаточно или почти полностью заполнено, это не удастся, killall - единственное решение – James Tan 23 April 2018 в 07:53

Это может случиться, когда Apache отказывается прекратить красиво или имеет Zombie Processes. Для первого вы можете убить все запущенные процессы с помощью 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 и т. Д.

23
ответ дан 6 August 2018 в 03:20

У меня тоже была такая же проблема, и я попробовал следующее:

sudo apache2ctl stop

, чтобы остановить службу, и

sudo apache2ctl start

, чтобы запустить его снова.

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

2
ответ дан 6 August 2018 в 03:20

У меня была такая же проблема, но вы не можете просто сделать одну команду service apache2 stop - вам нужно сделать один процесс PER. Затем вы можете добавить sudo спереди, если вы вошли в какую-то нечетную учетную запись, которая ему нужна, поэтому, если вы видите 9 процессов, выполните 9 sudo service apache2 stop

Отлично работает для я.

0
ответ дан 6 August 2018 в 03:20

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

kill PID_OF_YOUR_PROCESS

В приведенном выше примере передается PID по умолчанию TERM-сигнал (код 15 ). Вы можете найти коды сигналов на странице man kill (man kill).

Когда программа игнорирует переданный им сигнал TERM, все же можно применить немного большее давление, отправив Сигнал KILL (код 9). Этот сигнал используется в качестве последнего средства, поскольку процесс может не сохранять несохраненные данные.

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

kill -9 PID1 PID2 PID3 PID4

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

0
ответ дан 6 August 2018 в 03:20
  • 1
    Если читатель не знаком с командой «kill», почти нет шансов, что они узнают, как найти PID процесса apache2. – Max Barraclough 10 June 2018 в 00:55

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

sudo apt-get purge nginx nginx-common sudo apt-get autoremove
-2
ответ дан 6 August 2018 в 03:20

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

1
ответ дан 6 August 2018 в 03:20

Убедитесь, что у вас есть соответствующие разрешения для остановки службы.

Если вы запустите:

service apache2 stop

, вы не получите никакой ошибки:

* Остановка веб-сервера apache2

Попробуйте:

sudo service apache2 stop
6
ответ дан 6 August 2018 в 03:20
  • 1
    когда памяти недостаточно или почти полностью заполнено, это не удастся, killall - единственное решение – James Tan 23 April 2018 в 07:53

Это может случиться, когда Apache отказывается прекратить красиво или имеет Zombie Processes. Для первого вы можете убить все запущенные процессы с помощью 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 и т. Д.

23
ответ дан 7 August 2018 в 21:04

У меня тоже была такая же проблема, и я попробовал следующее:

sudo apache2ctl stop

, чтобы остановить службу, и

sudo apache2ctl start

, чтобы запустить его снова.

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

2
ответ дан 7 August 2018 в 21:04

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

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