Ho un'applicazione che sta esaurendo i descrittori di file, apparentemente aprendo socket, ma non riesco a scoprire esattamente cosa fanno questi socket. Questi appaiono nell'output di lsof come
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
e in / proc / $ PID / fd come
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]
ma non esiste un output simile in netstat -a
.
Cosa sono queste prese e come posso sapere cosa fanno?
Modifica : ho provato a correre grep $SOCKET /proc/net
, come raccomandato nelle FAQ di lsof , dove $ SOCKET è ad esempio 263746679, ma anche questo non ha dato risultati.
Come sfondo, l'applicazione è un contenitore per più attività che, tra le altre, eseguono chiamate di rete. Devo individuare quello che impazzisce, ma fino a quando non scopro con chi comunicano quelle prese, sono bloccato.