Назад | Перейти на главную страницу

ss -p значение вывода

я использую ss в пакете iproute2 для вывода статистики сокетов. С помощью -p опция может предоставить мне информацию о процессе. Вы знаете, что означают цифры? Я вижу, что первый PID, но не последний.

Пример вывода:

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))

Второе число - это номер дескриптора файла, связанного с этим соединением в процессе.

Как показано в реализации сс :

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] = '\0';

  return cnt;
}

первое число p-> pid, а второе p-> fd.