J'ai une application qui manque de descripteurs de fichiers, apparemment en ouvrant des sockets, mais je ne peux pas savoir exactement ce que font ces sockets. Ceux-ci apparaissent dans la sortie lsof comme
java 9689 appuser 1010u sock 0,5 263746675 can't identify protocol
java 9689 appuser 1011u sock 0,5 263746676 can't identify protocol
java 9689 appuser 1012u sock 0,5 263746677 can't identify protocol
java 9689 appuser 1014u sock 0,5 263746678 can't identify protocol
java 9689 appuser 1015u sock 0,5 263746679 can't identify protocol
java 9689 appuser 1016u sock 0,5 263746681 can't identify protocol
et dans / proc / $ PID / fd as
lrwx------ 1 appuser appuser 64 Jun 23 11:49 990 -> socket:[263732085]
lrwx------ 1 appuser appuser 64 Jun 23 11:49 991 -> socket:[263732086]
lrwx------ 1 appuser appuser 64 Jun 23 11:49 992 -> socket:[263735307]
lrwx------ 1 appuser appuser 64 Jun 23 11:49 993 -> socket:[263732088]
lrwx------ 1 appuser appuser 64 Jun 23 11:49 995 -> socket:[263735308]
lrwx------ 1 appuser appuser 64 Jun 23 11:49 996 -> socket:[263735309]
lrwx------ 1 appuser appuser 64 Jun 23 11:49 997 -> socket:[263745434]
lrwx------ 1 appuser appuser 64 Jun 23 11:49 998 -> socket:[263745435]
lrwx------ 1 appuser appuser 64 Jun 23 11:49 999 -> socket:[263745436]
mais il n'y a pas de sortie similaire en netstat -a
.
Que sont ces prises et comment savoir ce qu'elles font?
Edit : J'ai essayé de courir grep $SOCKET /proc/net
, comme recommandé dans la FAQ lsof , où $ SOCKET est par exemple 263746679, mais cela n'a donné aucun résultat non plus.
En arrière-plan, l'application est un conteneur pour plusieurs tâches qui, entre autres, effectuent des appels réseau. Je dois distinguer celle qui devient folle, mais jusqu'à ce que je découvre avec qui ces prises communiquent, je suis coincé.