특정 포트에서 실행중인 프로세스를 어떻게 찾아서 죽이나 요? [복제] : Linux에서

중복 가능성 :
Linux에서 특정 포트를 사용하는 프로세스 찾기

Ubuntu Linux 11.04를 사용하고 있습니다. 포트 4444에서 실행중인 프로세스를 찾은 다음 프로세스를 종료하는 쉘 스크립트 표현식을 작성하려면 어떻게해야합니까?



답변

lsof프로세스를 찾는 데 사용할 수 있습니다 .

lsof -t -i:4444

포트 4444에서 수신 대기하는 프로세스의 pid 만 나열합니다.

kill `lsof -t -i:4444`

용감하다면


답변

당신은 사용 lsof:

# lsof -n | grep TCP | grep LISTEN | grep 4444

출력은 다음과 같습니다.

pname 16125 user 28u IPv6 4835296 TCP *:4444 (LISTEN)

첫 번째 열은 프로세스 이름이고 두 번째 열은 프로세스 ID입니다. 그런 다음 출력을 구문 분석하고 프로세스 ID (PID)가 무엇인지 찾고 kill명령을 사용 하여 종료하십시오.


답변

또는 시스템에서 사용할 수없는 netstat -ap경우 lsof사용할 수 있습니다 (정기적으로 작업하는 비지 박스 시스템에는 없으므로).


답변

kill -9 `netstat -lanp --protocol=inet | grep 4444 | awk -F" " '{print $7}' | awk -F"/" '{print $1}'`

netstat를 사용하여 숫자 포트 및 상위 프로세스가있는 수신 INET 소켓을 나열합니다. 문자열 4444에 대한 필터는 7 번째 열 (pid / process name)을 가져 와서 “/”로 더 분할하여 pid를 가져옵니다. 명령을 죽 이도록 전달합니다.


답변