Carlos S wrote:
I am writing a small script to kill process(es) listening on particular port number. Here I am particularly looking at Java servlet-containers like Tomcat and JBoss, which sometimes don't complete their shutdown process and it still shows up as running process with ps or netstat. This needs to be kill-ed and for that knowing pid of that process is necessary. The netstat by default doesn't give only pid(s), so one has to use sed/awk/tr like utility to extract pid info. Does anyone know any program/utility which gives pid(s) based on listening port numbers? Or is there any option in netstat that I am missing? Thanks, CS.
fuser will do what you want. If you were looking for something listening on port 80, for instance:
[root@server ~]# fuser -n tcp 80 80/tcp: 3420 3718 3719 3721 3722 3723 3725 3726 3727[root@server ~]#
The banner ( "80/tcp:" ) is sent to STDERR and the actual PIDs to STDOUT, so you could do something like this:
for procpid in $( fuser -n tcp 80 2>/dev/null ) do kill ${procpid} done
fuser requires root access. For more, "man fuser" -- Jay Leafey - jay.leafey@xxxxxxxxxxxx Memphis, TN
<<attachment: smime.p7s>>
_______________________________________________ CentOS mailing list CentOS@xxxxxxxxxx http://lists.centos.org/mailman/listinfo/centos