Possible Duplicate:
Finding the process that is using a certain port in Linux
I'm using Ubuntu Linux 11.04. How do I write a shell script expression that will find the process running on port 4444 and then kill the process?
Possible Duplicate:
Finding the process that is using a certain port in Linux
I'm using Ubuntu Linux 11.04. How do I write a shell script expression that will find the process running on port 4444 and then kill the process?
You could use lsof to find the process:
lsof -t -i:4444
would list only the pid of the process listening on port 4444. You could just say
kill `lsof -t -i:4444`
if you were brave.
You use lsof:
# lsof -n | grep TCP | grep LISTEN | grep 4444
The output will be something like:
pname 16125 user 28u IPv6 4835296 TCP *:4444 (LISTEN)
Where the first column is the process name, and the second column is the process id. You then parse the output, find out what the process id (PID) is and use kill command to kill it.
kill -9 `netstat -lanp --protocol=inet | grep 4444 | awk -F" " '{print $7}' | awk -F"/" '{print $1}'`
Uses netstat to list listening INET sockets with numeric ports and parent processes. Filters for string 4444, takes out the 7th column( pid/process name ) and further splits it by "/" to get the pid. Passes that to kill command.
Alternatively you could use netstat -ap if lsof is not available on you system (as it isn't on a busybox system I work with regularly).