ss -lnptu redirigé vers awk avec un appel à ps -p. Je suis sur un appareil mobile, il est donc un peu difficile de taper un exemple complet pour le moment.
Prises d'écoute :
ss -lnptu | awk 'NR>1 { split($7,p,","); printf "Listen: "$5 " Command: "; system("ps --no-headers -o args p "p[2]); }'
Tous les sockets (nécessiteront probablement un filtrage supplémentaire en raison des sockets sans informations de processus dans 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]); }'
J'obtenais des erreurs de ps
sur Ubuntu 16.04 lors de l'utilisation de la réponse de Mark Sturgill telle quelle. Nécessité d'une légère modification pour le faire fonctionner :ajout d'un split
supplémentaire pour isoler davantage le PID numérique du format joint que ss
renvoie (par exemple pid=1306 -> 1306
). J'ai aussi ajouté le -ww
flag pour que ps sorte les arguments complets :
ss -lnptu | awk 'NR>1 { split($7,p,","); split(p[2],pid,"="); printf "Listen: "$5 " Command: "; system("ps --no-headers -ww -o args p "pid[2]); }'