这是 pstree 的转储。我正在运行 Firefox(一个选项卡)和 gnome-terminal(1 个选项卡)。我计算出 4 个 gnome-terminal 进程和 34 个 Firefox 进程。这正常吗?实际上,每个正在运行的应用程序似乎都是重复的。谢谢
init─┬─NetworkManager─┬─dhclient │ │ │ │ │ └─3*[{网络管理器}] ─accounts-daemon───2*[{accounts-daemon}] ═─acpid ═─at-spi-bus-laun─┬─dbus-daemon │ └─3*[{at-spi-bus-laun}] ═ ... 編輯 ═─avahi-守护进程───avahi-守护进程 ─bamfdaemon───3*[{bamfdaemon}] ─蓝牙 ═─colord───{colord} ─console-kit-dae───64*[{console-kit-dae}] ─计划任务 ─cups浏览 ═─cupsd───dbus ─2*[dbus 守护进程] ─dbus-启动 ═─dconf-service───2*[{dconf-service}] ═─进化日历───4*[{进化日历}] ─进化源───2*[{进化源}] ─firefox───34*[{firefox}] ─gconfd-2 │ │ gdm │┬ │ gdm-simple-slav │┬ │ Xorg │──2*[{Xorg}] │ ... │ │ │ │ └─3*[{c+ │ │ │ │ │ │ │ ─deja-dup-monit+ │ │ │ │ │ ═─进化-翼+ │ │ │ │ │ │ │ ─gnome-fallback+ │ │ │ │ │ │ │ ─gnome-screensa+ │ │ │ │ │ │ │ ─gnome-settings+ │ │ │ │ │ │ │ ─gnome-user-sha+ │ │ │ │ │ │ │ ─polkit-gnome-a+ │ │ │ │ │ │ │ ─ssh-代理 │ │ │ │ │ │ │ ─心灵感应-indi+ │ │ │ │ │ │ │ ─tracker-miner-+ │ │ │ │ │ │ ─tracker-store─+++ │ │ │ │ │ │ │ │ ─更新通知+ │ │ │ │ │ │ │ │ ─zeitgeist-data+ │ │ │ │ └─3*[{gnome-sess+ │ │ │ └─2*[{gdm-session-wor}] │ │ └─2*[{gdm-simple-slav}] │ └─2*[{gdm}] ─5*[盖蒂] ─gnome-keyring-d───7*[{gnome-keyring-d}] ═─gnome-terminal─┬─gnome-pty-helpe │ ═─tcsh───pstree │ └─3*[{gnome-terminal}] ─goa-daemon───2*[{goa-daemon}] ─gvfs-afc-卷──2*[{gvfs-afc-卷}] ─gvfs-gphoto2-vo───{gvfs-gphoto2-vo} ─gvfs-mtp-卷───{gvfs-mtp-卷} ═─gvfs-udisks2-vo───{gvfs-udisks2-vo} ═─gvfsd───{gvfsd} ─gvfsd-burn───{gvfsd-burn} ─gvfsd-fuse───4*[{gvfsd-fuse}] ─gvfsd-垃圾桶──2*[{gvfsd-垃圾桶}] ─hud 服务───3*[{hud 服务}] │ │指标应用────{指标应用} ─indicator-bluet───2*[{indicator-bluet}] ─指标日期──3*[{指标日期}] ─指标信息───2*[{指标信息}] ─indicator-print───2*[{indicator-print}] ─指标-sessi───2*[{指标-sessi}] ═─指示音───2*[{指示音}] ─指标同步─────{指标同步-} ─中断平衡 ═─登录───tcsh ─任务控制───2*[{任务控制}] ─调制解调器管理器 ═─polkitd───{polkitd} │ │pulseaudio│gconf-helper │ └─2*[{pulseaudio}] ═─rsyslogd───3*[{rsyslogd}] ═─rtkit-daemon───2*[{rtkit-daemon}] ─ubuntuone-syncd───3*[{ubuntuone-syncd}] ═─udevd───2*[udevd] ─udisksd───4*[{udisksd}] ═─unity-应用程序───2*[{unity-应用程序}] ═─unity-files-dae───2*[{unity-files-dae}] ═─unity-lens-frie───2*[{unity-lens-frie}] ─unity-lens-phot───3*[{unity-lens-phot}] ═─unity-music-dae───{unity-music-dae} ═─unity-musicstor───2*[{unity-musicstor}] ═─unity-panel-ser───3*[{unity-panel-ser}] ═─unity-scope-gdr───3*[{unity-scope-gdr}] ═─unity-scope-vid───2*[{unity-scope-vid}] ═─unity-video-len────{unity-video-len} ─unity-webapps-s───2*[{unity-webapps-s}] ─upowerd───2*[{upowerd}] ─upstart-文件-br ═─upstart-socket- ─upstart-udev-br ─vsftpd ─喔喔喔───2*[{喔喔喔}] ─wpa_supplicant 复制代码 │ │zeitgeist-daemo────{zeitgeist-daemo} └─zeitgeist-fts─┬─cat └─{zeitgeist-fts}
答案1
这些是线程。如果你阅读,man pstree
你会看到以下部分:
进程的子线程位于父进程下,并以花括号中的进程名称显示,例如
icecast2---13*[{icecast2}]
这与你所看到的是相似的:
firefox───34*[{firefox}]
所以,无需担心。
答案2
是的,这是正常的。许多程序使用多个进程,因此无需担心。
原因在于,Google Chrome/Chromium 或 IE 等程序将程序功能(例如将各个选项卡渲染)划分为多个进程,以提高跨多个处理器核心和线程的使用效率,从而实现更好的性能。
其他程序也会这样做,如果程序有可能对单个线程/核心造成过大的压力,则会将程序任务委托给多个处理器核心或线程。
来源:http://www.liutilities.com/articles/what-are-computer-processes/#.UwaXgvldV1Y http://www.qnx.com/developers/docs/6.4.1/neutrino/getting_started/s1_procs.html
我希望这有帮助。