O segundo número é um número de descritor de arquivo associado a essa conexão no processo
Eu uso o pacote ss
no iproute2 para listar estatísticas de sockets. Usar a opção -p
pode me fornecer informações sobre o processo. Você sabe o que significam os números mostrados? Eu posso ver que o primeiro é o PID, mas não o último.
Exemplo de saída:
ESTAB 0 0 192.168.1.2:59246 124.40.42.38:www users:(("gweather-applet",1922,23))
ESTAB 0 0 192.168.1.2:42612 72.14.213.16:imaps users:(("thunderbird-bin",5553,45))
Como é mostrado na implementação de ss :
static int find_users(unsigned ino, char *buf, int buflen)
{
struct user_ent *p;
int cnt = 0;
char *ptr;
if (!ino)
return 0;
p = user_ent_hash[user_ent_hashfn(ino)];
ptr = buf;
while (p) {
if (p->ino != ino)
goto next;
if (ptr - buf >= buflen - 1)
break;
snprintf(ptr, buflen - (ptr - buf),
"(\"%s\",%d,%d),",
p->process, p->pid, p->fd);
ptr += strlen(ptr);
cnt++;
next:
p = p->next;
}
if (ptr != buf)
ptr[-1] = 'static int find_users(unsigned ino, char *buf, int buflen)
{
struct user_ent *p;
int cnt = 0;
char *ptr;
if (!ino)
return 0;
p = user_ent_hash[user_ent_hashfn(ino)];
ptr = buf;
while (p) {
if (p->ino != ino)
goto next;
if (ptr - buf >= buflen - 1)
break;
snprintf(ptr, buflen - (ptr - buf),
"(\"%s\",%d,%d),",
p->process, p->pid, p->fd);
ptr += strlen(ptr);
cnt++;
next:
p = p->next;
}
if (ptr != buf)
ptr[-1] = '%pre%';
return cnt;
}
';
return cnt;
}
o primeiro número é p- > pid e o segundo é p- > fd.
Tags iproute2