Friday, May 10, 2024
 Popular · Latest · Hot · Upcoming
5
rated 0 times [  5] [ 0]  / answers: 1 / hits: 3314  / 2 Years ago, thu, february 17, 2022, 2:23:57

While reading about Linux, I got a $netstat -tulpn to find out which process is listening Upon a port. I got:



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


There is a single PID for googleChromium, while I have opened multiple windows and multiple tabs in it.
I read that chromium uses processes rather than threads http://blog.chromium.org/2008/09/multi-process-architecture.html, as port numbers are used for application to application connection (so I understand that there is a single PID for chromium).
But what about PIDs for other processes associated with Chromium??


More From » chromium

 Answers
2

The Chromium browser indeed uses different processes to render your opened tabs:



$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


In the above example pid 6517 and 6541 are my opened tabs, but like you netstat only returns one network process for Chromium (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


So why?




  • Chromium uses a multi-process architecture, which isolates render processes from the browser process but...

  • Chromium maintains a single instance of the resource dispatcher, which is shared across all render processes, and runs within the browser kernel process.

  • Each render process communicates with the resource dispatcher via IPC.



Sources:




[#23131] Thursday, February 17, 2022, 2 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
lowovey

Total Points: 287
Total Questions: 98
Total Answers: 117

Location: Bosnia and Herzegovina
Member since Thu, Jan 14, 2021
3 Years ago
;