2015-05-14 2 views
1

Может кто-нибудь сказать мне, почему netstat -o перечисляет только один браузер pid для всех сетевых подключений, происходящих внутри хром ... что я имею в виду, даже если у меня есть две или более вкладки, открытые в хроме, и каждая вкладка отправляет пакеты, команда netstat netstat -ob показывает следующее.Почему опция netstat -o не перечисляет вкладку chrome tab pid, а только ее родительский браузер pid?

прото LOCAL АДРЕС Внешний адрес Состояние PID

TCP a.a.a.a b.b.b.b ESTABLISHED 2240 [chrome.exe]

TCP a.a.a.a c.c.c.c ESTABLISHED 2240 [chrome.exe]

2240 является хром браузер PID. Но два соединения установлены двумя хромированными вкладками, имеющими отчетливый pid's , там есть, но не указаны. Прошу пролить свет.

И что еще более важно, как программно получить pid каждого хромированного вклада? Примечание: Я использую windows C++.

ответ

0

PID - Идентификатор процесса (чтение: идентификатор запущенной программы), а не «идентификатор табуляции». Тот факт, что ваш браузер использует вкладки, совершенно не имеет значения - ваш браузер (одна программа = один PID) может устанавливать множество соединений. HTML, загруженный этими соединениями, представлен вам на разных вкладках - вот и все. BTW соединения могут быть прекращены после того, как все содержимое было загружено, но вкладки могут оставаться открытыми (пока вы не закрываете их вручную). Независимо от того, поддерживаются ли связи открытыми или нет, зависит от множества разных факторов: содержимого страницы (если она использует любые AJAX и т. Д.), Настроек браузера.

+0

Если вы посмотрите в менеджере задач chrome, на каждой вкладке будет свой собственный идентификатор процесса. «браузер (отдельная программа = один PID) может устанавливать множество подключений. HTML, загруженный этими соединениями, представлен вам на разных вкладках« но если это будет – user2210121

+0

Возможно, у Chrome есть свой менеджер «задач», и каждая задача имеет свой собственный идентификатор (это означает, что это внутренний хром «идентификатор задачи», а не «идентификатор процесса»), но вы дали результат из «netstat» - который ничего не знает о них - он знает только о процессах, присутствующих в системе, и TCP-соединениях установленных ими. Учетные записи Chrome абсолютно не относятся к 'netstat'. – sirgeorge

+0

ok 2 простых сомнения, если они являются идентификаторами табуляции, а не Pid, ​​то почему chrome task manager показывает эти числа в столбце Id процесса? , если я выполняю команду taskkill как taskkill/F/PID xxxx, где xxx - это вкладка, на вкладке которой выдается следующее: «Он мертв» Jim Либо у хрома закончилась память, либо процесс для веб-страницы было прекращено по какой-то другой причине. Продолжить перезагрузку или перейти на другую страницу ». и идентификатор процесса неизбежно исчезает из диспетчера задач chrome. Поэтому я думал, что каждая вкладка - это процесс, который вы видите. – user2210121