PID связал с Хромом несколько вкладок и окон?

При чтении о Linux я получил a $netstat -tulpn узнать, какой процесс слушает На порт. Я добрался:

anupam@JAZZ:~$ sudo netstat -tulpn
[sudo] password for anupam: 
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      1827/dnsmasq    
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1992/cupsd      
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      976/mysqld      
tcp6       0      0 :::80                   :::*                    LISTEN      1342/apache2    
tcp6       0      0 ::1:631                 :::*                    LISTEN      1992/cupsd      
tcp6       0      0 :::3689                 :::*                    LISTEN      2582/rhythmbox  
udp        0      0 0.0.0.0:631             0.0.0.0:*                           943/cups-browsed
udp        0      0 0.0.0.0:37759           0.0.0.0:*                           697/avahi-daemon: r
udp        0      0 0.0.0.0:58502           0.0.0.0:*                           1822/dhclient   
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           3039/chromium-brows
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           697/avahi-daemon: r
udp        0      0 127.0.1.1:53            0.0.0.0:*                           1827/dnsmasq    
udp        0      0 0.0.0.0:68              0.0.0.0:*                           1822/dhclient   
udp6       0      0 :::5353                 :::*                                697/avahi-daemon: r
udp6       0      0 :::44452                :::*                                697/avahi-daemon: r
udp6       0      0 :::16540                :::*                                1822/dhclient   

Существует сингл PID для googleChromium, в то время как я открыл несколько окон и несколько вкладок в нем. Я считал тот хром процессы использования, а не распараллеливаю http://blog.chromium.org/2008/09/multi-process-architecture.html, поскольку номера портов привыкли для приложения к соединению приложения (таким образом, я понимаю, что существует единственный PID для хрома). Но что относительно PIDs для других процессов, связанных с Хромом??

3
задан 23 September 2014 в 10:10

2 ответа

Браузер Хрома действительно использует различные процессы для рендеринга открытых вкладок:

$ps -aef
[...]
sylvain   6432  2223 20 11:19 ?        00:00:02 chromium-browser --enable-pinch                          
sylvain   6441  6432  0 11:19 ?        00:00:00 /usr/lib/chromium-browser/chrome-sandbox /usr/lib/chromium-browser/chromium-browser --type=zygote
sylvain   6442  6441  1 11:19 ?        00:00:00 chromium-browser --type=zygote                          
sylvain   6446  6442  0 11:19 ?        00:00:00 chromium-browser --type=zygote                          
sylvain   6469  6432  8 11:19 ?        00:00:00 chromium-browser --type=gpu-process --channel=6432.0.2058149686 --supports-dual-gpus=false --gpu-driver-bug-workarounds=1,11,13,15 --disable-accelerated-video-decode --gpu-vendor-
sylvain   6489  6446  1 11:19 ?        00:00:00 /usr/lib/chromium-browser/chro                          
sylvain   6509  6469  0 11:19 ?        00:00:00 chromium-browser --type=gpu-broker                                                                                                                                                 
root      6516     2  0 11:19 ?        00:00:00 [kworker/0:0]
sylvain   6517  6446 10 11:19 ?        00:00:00 /usr/lib/chromium-browser/chro                          
sylvain   6541  6446  5 11:20 ?        00:00:00 /usr/lib/chromium-browser/chro 

В вышеупомянутом примере, изодромном с предварением 6517 и 6541 , мои открытые вкладки, но как Вы netstat только возвраты один сетевой процесс для Хрома ( 6432 ):

$ sudo netstat -tulpn
[sudo] password for sylvain: 
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      1966/dnsmasq    
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      3804/cupsd      
tcp        0      0 0.0.0.0:538             0.0.0.0:*               LISTEN      1363/gdomap     
tcp6       0      0 ::1:631                 :::*                    LISTEN      3804/cupsd      
udp        0      0 0.0.0.0:45410           0.0.0.0:*                           2158/dhclient   
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           6432/chromium-brows
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           933/avahi-daemon: r
udp        0      0 127.0.1.1:53            0.0.0.0:*                           1966/dnsmasq    
udp        0      0 0.0.0.0:68              0.0.0.0:*                           2158/dhclient   
udp        0      0 0.0.0.0:68              0.0.0.0:*                           1715/dhclient   
udp        0      0 192.168.1.36:123        0.0.0.0:*                           2956/ntpd       
udp        0      0 192.168.1.40:123        0.0.0.0:*                           2956/ntpd       
udp        0      0 127.0.0.1:123           0.0.0.0:*                           2956/ntpd       
udp        0      0 0.0.0.0:123             0.0.0.0:*                           2956/ntpd       
udp        0      0 0.0.0.0:49400           0.0.0.0:*                           933/avahi-daemon: r
udp        0      0 0.0.0.0:538             0.0.0.0:*                           1363/gdomap     
udp        0      0 0.0.0.0:631             0.0.0.0:*                           1187/cups-browsed
udp        0      0 0.0.0.0:10080           0.0.0.0:*                           1715/dhclient   
udp6       0      0 :::60417                :::*                                933/avahi-daemon: r
udp6       0      0 :::5353                 :::*                                933/avahi-daemon: r
udp6       0      0 :::47845                :::*                                2158/dhclient   
udp6       0      0 :::8012                 :::*                                1715/dhclient   
udp6       0      0 fe80::3ea9:f4ff:fe1:123 :::*                                2956/ntpd       
udp6       0      0 fe80::3e97:eff:fe81:123 :::*                                2956/ntpd       
udp6       0      0 ::1:123                 :::*                                2956/ntpd       
udp6       0      0 :::123                  :::*                                2956/ntpd  

Итак, почему?

  • Хром использует мультиархитектуру процессов, которая изолирует процессы рендеринга от процесса браузера , но ...
  • Хром поддерживает единственный экземпляр из диспетчера ресурса, который совместно используется через все процессы рендеринга и работает в рамках процесса ядра браузера.
  • Каждый процесс рендеринга связывается с диспетчером ресурса через IPC.

Источники:

5
ответ дан 17 November 2019 в 19:43

Можно использовать pgrep -P 3039 для получения всех идентификаторов дочернего процесса Хрома. Тогда можно использовать ps -p "$child_pids" для получения информации о них. Или используйте ps --ppid 3039 непосредственно.

1
ответ дан 17 November 2019 в 19:43

Другие вопросы по тегам:

Похожие вопросы: