Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I can execute netstat -atulpn | grep java to find all Java processes with their accompanying ports, which is great, however I would like to also have the processes full execution arguments also shown. I don't believe that this is possible with netstat from everything I've explored so far and so I was thinking that I would have to write a script to process the output of netstat and then pass the pids into ps and then prettify the output to show the ip+port and full command line.

Is there a better way of doing this or is this about the only option?

share|improve this question

1 Answer 1

up vote 1 down vote accepted

ss -lnptu piped to awk with a call to ps -p. I'm on a mobile device, so it is a little tricky to type out a full example at the moment.

Listening Sockets:

ss -lnptu | awk 'NR>1 { split($7,p,","); printf "Listen: "$5 " Command: "; system("ps --no-headers -o args p "p[2]); }'

All Sockets (will likely require some additional filtering due to sockets without process information in TIME_WAIT, etc):

ss -anptu state listening state established state connected state unconnected | grep -v TIME_WAIT | awk 'NR>1 { split($7,p,","); printf "Listen: "$5 " Command: "; system("ps --no-headers -o args p "p[2]); }'

share|improve this answer
    
Thanks for heads up Mark, looking forward to a more detailed response! –  ylluminate Feb 20 at 3:08
    
@ylluminate I added a quick and dirty example. –  Mark Sturgill Feb 20 at 3:29
    
Great, thanks yes. Just FYI on CentOS 6.5 it gave me some funky output regarding the arguments that are being passed in: gist.github.com/8a36dbbc3fe9c8371742 –  ylluminate Feb 20 at 3:36
    
@ylluminate I tested with Ubuntu 13.04 (ss --version = iproute2-ss130716). Can you give me an example line of output from ss -anptu on your system? –  Mark Sturgill Feb 20 at 3:44
    
Sure, here's the raw output: j.mp/1dPtubZ (Apologize, I made it on a wide terminal.) –  ylluminate Feb 20 at 3:50

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.