Pstree is a Unix tool that shows the running processes as a tree. It is inspirated in Linux psmisc package and ported to various Unix systems *BSD, Solaris, AIX, …
$ pstree system---init-+-cron |-4*[getty] |-inetd |-master-+-pickup | `-qmgr |-ntpd |-powerd |-screen-4.0.3---sh |-sshd---sshd---sh---pstree `-syslogd
$ pstree swapper-+-acpi0 |-aiodoned |-cleaner |-crypto |-idle0 |-init-+-cron | |-5*[getty] | |-inetd | |-ntpd---ntpd---ntpd | |-pflogd---pflogd | |-screen---ksh | |-sendmail | |-sndiod | |-sshd---sshd---ksh---pstree | `-syslogd---syslogd |-pagedaemon |-pfpurge |-reaper |-syswq |-update |-usbatsk |-usbtask `-viomb
$ pstree kernel-+-audit |-bufdaemon |-geom-+-{g_down} | |-{g_event} | `-{g_up} |-idle |-init-+-adjkerntz | |-cron | |-devd | |-8*[getty] | |-2*[sendmail] | |-sshd---sshd---csh---pstree | `-syslogd |-intr-+-{irq11: ed0 uhci0} | |-{irq12: psm0} | |-{irq14: ata0} | |-{irq15: ata1} | |-{irq1: atkbd0} | |-{swi0: uart} | |-{swi1: netisr 0} | |-{swi2: cambio} | |-{swi3: vm} | |-{swi4: clock} | |-{swi5: fast taskq} | |-{swi6: Giant task} | `-{swi6: task queue} |-pagedaemon |-pagezero |-sctp_iterator |-softdepflush |-syncer |-usb---4*[{usbus0}] |-vmdaemon |-vnlru |-xpt_thrd |-yarrow |-{acpi_task_0} |-{acpi_task_1} |-{acpi_task_2} |-{ffs_trim taskq} |-{firmware taskq} |-{kqueue taskq} |-{mca taskq} |-{swapper} |-{thread taskq} `-{virtio_balloon}