Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question

migrated from Aug 12 '11 at 13:31

This question came from our site for professional and enthusiast programmers.

marked as duplicate by slhck, Mehper C. Palavuzlar, sblair, Ƭᴇcʜιᴇ007, Doug Harris Aug 12 '11 at 15:43

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

I don't think this is a duplicate as it is asking how to kill, not find, the process on the port: fuser -k 9000/tcp – Kris Jul 19 '12 at 15:39

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.

share|improve this answer
+1 for 'if you were brave.' – Mr. Shickadance Aug 12 '11 at 13:23

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.

share|improve this answer
I'd never heard of lsof before. Looking at the man page, it appears to be incredibly useful. Thanks! – Jon Trauntvein Aug 12 '11 at 13:26

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).

share|improve this answer
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.

share|improve this answer
I'd recommend against the kill -9. It doesn't allow cleanup, and some internet app is more likely to have resources that need to be shut down cleanly. – Rich Homolka Aug 12 '11 at 16:50