Как убить сервер Apache / PHP, работающий на локальном узле 8080? - PullRequest
0 голосов
/ 06 сентября 2018

В настоящее время я использую macOS High Sierra версии 10.13.6.

Это то, что я получаю, когда загружаю localhost: 8080 в свой браузер: Скриншот сервера Apache / PHP

Я не знаю, как этот сервер был запущен на этом порту, потому что я никогда не использовал эти технологии. Я время от времени возиться с веб-разработкой, но я не знаю, что я делал, когда запускался сервер. Я изучил, как убить процесс, и до сих пор самым близким к завершению работы с сервером было убийство моего браузера Chrome. Некоторые из вещей, которые я пытался найти процесс, работающий на порту 8080:

ps aux | grep 8080
lsof -t -i @localhost:8080
netstat -l -p | grep 8080
lsof -nP -i | grep 8080

Было еще несколько похожих, которые я пробовал, но я не могу вспомнить их все. При использовании команд lsof мне обычно приходилось ставить sudo перед ними, чтобы что-нибудь появилось. Иногда мне ничего не возвращалось, а иногда я получал что-то вроде этого: Вывод терминала из lsof и ps aux вывода, где процессы Postgres .

Когда я получал обратно процессы, с которыми был связан PID, я пытался убить их с помощью kill -9 <PID>. Обычно мне приходилось форсировать это с помощью sudo, потому что это давало мне ошибку отказа в разрешении (вероятно, не лучшую практику). Когда я это сделал, казалось, ничего не произошло, за исключением того, что другие процессы появились, когда я искал после того, как убил начальные. Я также пытался завершить процессы, связанные с Postgres, из ps aux, но это тоже не сработало. Просто кажется, что все процессы, которые я нахожу, не правильные. У кого-нибудь есть предложения, чтобы помочь мне найти и уничтожить процесс, на котором размещен сервер?

Ответы [ 3 ]

0 голосов
/ 06 сентября 2018

Вы можете попробовать:

ps -e | grep httpd

Это покажет вам apache httpd PID.Другой способ - установить pstree, используя Заваривать :

brew install pstree

pstree покажет запущенные процессы в виде дерева.Затем вы можете найти PPID с помощью следующей команды:

pstree | grep httpd

Затем вы можете использовать kill, чтобы завершить процесс.Я протестировал оба способа на macOS High Sierra .

0 голосов
/ 06 сентября 2018
lsof -nP -i | grep "TCP.*:8080.*LISTEN"

Используйте lsof, чтобы найти процесс, ожидающий подключения («LISTEN») на порте 8080. Используйте столбец PID из этого выхода, чтобы завершить процесс.

0 голосов
/ 06 сентября 2018

Из командной строки это будет:

sudo /usr/sbin/apachectl stop

Чтобы предотвратить запуск при следующей перезагрузке:

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

Обратите внимание, что я понятия не имею, что еще использует apache в вашей системе, так что это может сломать вещи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...