Как найти процессы на основе порта и убить их всех? Найти процессы на основе номера порта и убить их всех. ps -efl | grep PORT_NUMBER | kill -9 process_found_previously как завершить последний столбец? Ответ 1 Проблема с ps -efl | grep PORT_NUMBER заключается в том, что PORT_NUMBER может также совпадать с другими столбцами на выходе ps (дата, время, pid,...). Потенциальное убийство при запуске root! Я бы сделал это вместо этого: PORT_NUMBER=1234 lsof -i tcp:${PORT_NUMBER} | awk 'NR!=1 {print $2}' | xargs kill Разбивка команды (lsof -i tcp:${PORT_NUMBER}) - список всех процессов, которые прослушиваются на этом порту tcp (awk 'NR!=1 {print $2}') - игнорировать первую строку, печатать второй столбец каждой строки (xargs kill) - передать результаты в качестве аргумента kill. Их может быть несколько. Ответ 2 1.) lsof -w -n -i tcp:8080 2.) kill -9 processId Ответ 3 Предложите использовать команду фьюзера: fuser -k -TERM -n tcp ${PORT_NUMBER} Ответ 4 kill $( lsof -i:6000 -t ) Или, если вам нужны разрешения: sudo kill $( sudo lsof -i:6000 -t ) Ответ 5 ... | awk '{ print $4 }' | xargs kill -9 перед тем, как запустить пожалуйста, протестируйте с помощью "echo" вместо "kill" Ответ 6 Чтобы убить все процессы, прослушивающие определенный порт, например. порт 8864 kill -9 $ \`lsof -i:8864 -t\` Замените 8864 на требуемый порт. Ответ 7 sudo fuser -k 8080/tcp Легко запомнить один лайнер, который хорошо работает в большинстве или во всех Unix. Этот синтаксис, вероятно, гораздо более поздний, чем дата вопроса.
Ответ 1 Проблема с ps -efl | grep PORT_NUMBER заключается в том, что PORT_NUMBER может также совпадать с другими столбцами на выходе ps (дата, время, pid,...). Потенциальное убийство при запуске root! Я бы сделал это вместо этого: PORT_NUMBER=1234 lsof -i tcp:${PORT_NUMBER} | awk 'NR!=1 {print $2}' | xargs kill Разбивка команды (lsof -i tcp:${PORT_NUMBER}) - список всех процессов, которые прослушиваются на этом порту tcp (awk 'NR!=1 {print $2}') - игнорировать первую строку, печатать второй столбец каждой строки (xargs kill) - передать результаты в качестве аргумента kill. Их может быть несколько.
Ответ 4 kill $( lsof -i:6000 -t ) Или, если вам нужны разрешения: sudo kill $( sudo lsof -i:6000 -t )
Ответ 5 ... | awk '{ print $4 }' | xargs kill -9 перед тем, как запустить пожалуйста, протестируйте с помощью "echo" вместо "kill"
Ответ 6 Чтобы убить все процессы, прослушивающие определенный порт, например. порт 8864 kill -9 $ \`lsof -i:8864 -t\` Замените 8864 на требуемый порт.
Ответ 7 sudo fuser -k 8080/tcp Легко запомнить один лайнер, который хорошо работает в большинстве или во всех Unix. Этот синтаксис, вероятно, гораздо более поздний, чем дата вопроса.