I found that the launchd
process has multiple instances in the process list. What is looking interesting is that there are four users under which these launchd
processes are running:
- root
- < current_user[i.e. me] >
- _windowserver
- _spotlight
As described in Apple's docs (Creating Launch Daemons and Agents), launchd
will be launched per user. But why are the users which requires launchd
such as _spotlight
and _windowserver
. I would expect only root
and <current_user[i.e. me]>
. Why both users (_spotlight
and _windowserver
) require the launchd? I would appreciate for any references to Apple docs or any other resources.
the process parent-child relations are as following:
kernel_task(0,root) -> launchd(1,root) -> launchd(130, _windowserver)
-> launchd(150, <current_user[i.e. me]>)
-> launchd(470, _spotlight)