The "cool" program of late for me is:
pstree. It's in the psmisc package in debian and may be installed by default in other distros. Cool programs vary over time, but this one is the cherry for the moment. It's useful in a number of ways. One, is to gain a quick overview of what's running on a machine which is very useful if one is working in an environment with multiple machines. Secondly, but no less useful, is checking what is unnecessary for the running of a particular machine. What's unnecessary can be stopped, disabled or removed so that the machine isn't using up resources with unnecessary processing.
It's clear that with modern high-spec machines, the plentiful resources available in memory, cpu and drive capacity can make managing unnecessary programs irrelevant since it makes no perceptible difference to performance to the user. Nevertheless, and regardless, it may be of interest.
The examples of using pstree output on two machines below is quite terse because both machines have been through the process of removing unnecessary programs, but I think there is enough data to show something of interest, I hope

. Both machines are running debian forky.
MACHINE 1:
Code:
[~]$ pstree
systemd─┬─atopacctd
├─avahi-daemon───avahi-daemon
├─colord───3*[{colord}]
├─connmand
├─crashhelper───{crashhelper}
├─cron
├─cups-browsed───3*[{cups-browsed}]
├─cupsd
├─dbus-daemon
├─dhclient
├─dwm─┬─11*[xterm───bash]
│ ├─xterm───bash───pstree
│ └─2*[xterm───bash───vi───{vi}]
├─firefox-bin─┬─forkserver─┬─Isolated Web Co───29*[{Isolated Web Co}]
│ │ ├─Isolated Web Co───28*[{Isolated Web Co}]
│ │ ├─Privileged Cont───26*[{Privileged Cont}]
│ │ ├─RDD Process───4*[{RDD Process}]
│ │ ├─Socket Process───5*[{Socket Process}]
│ │ ├─Utility Process───4*[{Utility Process}]
│ │ ├─3*[Web Content───25*[{Web Content}]]
│ │ └─WebExtensions───30*[{WebExtensions}]
│ └─98*[{firefox-bin}]
├─gpm
├─login───bash───startx───xinit─┬─Xorg───2*[{Xorg}]
│ └─xterm─┬─bash
│ └─ssh-agent
├─polkitd───3*[{polkitd}]
├─rsyslogd───3*[{rsyslogd}]
├─rtkit-daemon───2*[{rtkit-daemon}]
├─sshd
├─systemd─┬─(sd-pam)
│ ├─dbus-daemon
│ ├─pipewire───{pipewire}
│ ├─pipewire
│ ├─pipewire-pulse───{pipewire-pulse}
│ └─wireplumber───4*[{wireplumber}]
├─systemd-journal
├─systemd-logind
├─systemd-timesyn───{systemd-timesyn}
├─systemd-udevd
├─titleBarStart───sleep
├─vnstatd
├─waterfox─┬─3*[Isolated Web Co───26*[{Isolated Web Co}]]
│ ├─Privileged Cont───25*[{Privileged Cont}]
│ ├─RDD Process───4*[{RDD Process}]
│ ├─Socket Process───5*[{Socket Process}]
│ ├─Utility Process───4*[{Utility Process}]
│ ├─3*[Web Content───16*[{Web Content}]]
│ ├─WebExtensions───25*[{WebExtensions}]
│ └─94*[{waterfox}]
└─wpa_supplicant
[~]$
MACHINE 1 is pretty streamlined and doesn't run terribly much. One can see the main user programs it's running are:
firefox browser
waterfox browser
atop process monitor
dwm window manager running 13 xterms
connman network manager
cups for printing
There are some contrasts with MACHINE 2, described below.
MACHINE 2:
Code:
$ pstree
systemd-+-NetworkManager---3*[{NetworkManager}]
|-atop
|-atopacctd
|-auditd---{auditd}
|-avahi-daemon---avahi-daemon
|-colord---3*[{colord}]
|-crashhelper---{crashhelper}
|-cron
|-cups-browsed---3*[{cups-browsed}]
|-cupsd
|-dbus-daemon
|-dhclient
|-dwm-+-6*[xterm---bash]
| |-xterm---bash---pstree
| |-xterm---bash---vi---{vi}
| `-xterm---bash---firefox-esr-+-2*[Isolated Web Co---20*[{Isolated Web Co}]]
| |-Privileged Cont---20*[{Privileged Cont}]
| |-RDD Process---4*[{RDD Process}]
| |-Socket Process---5*[{Socket Process}]
| |-Utility Process---4*[{Utility Process}]
| |-Web Content---18*[{Web Content}]
| |-2*[Web Content---14*[{Web Content}]]
| |-WebExtensions---20*[{WebExtensions}]
| `-80*[{firefox-esr}]
|-exim4
|-gpm
|-irqbalance---{irqbalance}
|-login---bash---startx---xinit-+-Xorg---2*[{Xorg}]
| `-xterm-+-bash
| `-ssh-agent
|-packagekitd---3*[{packagekitd}]
|-polkitd---3*[{polkitd}]
|-rsyslogd---3*[{rsyslogd}]
|-rtkit-daemon---2*[{rtkit-daemon}]
|-sshd
|-systemd-+-(sd-pam)
| |-at-spi-bus-laun-+-dbus-daemon
| | `-4*[{at-spi-bus-laun}]
| |-at-spi2-registr---3*[{at-spi2-registr}]
| |-dbus-daemon
| |-gvfsd---3*[{gvfsd}]
| |-gvfsd-fuse---6*[{gvfsd-fuse}]
| |-pipewire---{pipewire}
| |-pipewire
| |-pipewire-pulse---{pipewire-pulse}
| |-wireplumber---4*[{wireplumber}]
| |-xdg-desktop-por---4*[{xdg-desktop-por}]
| |-xdg-desktop-por---5*[{xdg-desktop-por}]
| |-xdg-document-po-+-fusermount3
| | `-7*[{xdg-document-po}]
| `-xdg-permission----3*[{xdg-permission-}]
|-systemd-journal
|-systemd-logind
|-systemd-timesyn---{systemd-timesyn}
|-systemd-udevd
|-titleBarStart---sleep
`-vnstatd
The interesting aspect I think is to see what the user of MACHINE 2 is using that the user of MACHINE 1 doesn't use, or doesn't need, or finds so unnecessary to have removed.
The programs in place of and in excess of those for the user of MACHINE 1, in particular are:
NetworkManager for networking
exim4 for mailing
auditd for auditing
packagekit for GUI package management
gvfsd for gnome GUI programs
xdg-desktop-portal for GUI package management and other things
at-spi2 for accessibility
It's clear that the user of MACHINE 2 uses far more GUI programs than the user of MACHINE 1 so has a lot more resources being used to support those programs.
pstree just provides the quick eye-catching view that captures the essence of what's happening. It has quite a few options, not shown here, so can go into much greater detail if the user wants it.