LaunchServices collection of daemons and frameworks responsible for launching applications on macOS and iOS.
LSApplicationWorkspace API
When installing apps on iOS, it is common to manipulate their LaunchServices registration using the LSApplicationWorkspace
API.
launchservicesd Daemon
This daemon is responsible for coordinating application launches. It provides a shm which is manipulated using the LSApplicationWorkspace
APIs.[1]
macOS
There is a short man page describing it:
launchservicesd(8) System Manager's Manual launchservicesd(8) NAME launchservicesd SYNOPSIS launchservicesd [--server] DESCRIPTION launchservicesd is used internally by MacOS X to track and coordinate information about the running applications on the system. FILES /System/Library/CoreServices/launchservicesd SEE ALSO lsappinfo(8) HISTORY launchservicesd was introduced in MacOS 10.9. Darwin 04/01/13 Darwin
lsd Daemon
lsd
, the LaunchServices database daemon, is responsible for keeping track of app registrations and caching them on disk.[2]
macOS
There is a short man page describing it:
lsd(8) System Manager's Manual lsd(8) NAME lsd DESCRIPTION lsd provides various services for CoreServices frameworks. It is not meant to be invoked directly and it must not be terminated. Darwin 8/22/12 Darwin
A copy is run for each user on the system
jjtech 715 0.0 0.1 408286768 12080 ?? S Tue07PM 0:24.15 /usr/libexec/lsd root 404 0.0 0.1 408289376 15840 ?? Ss Tue07PM 0:26.28 /usr/libexec/lsd runAsRoot
Database
lsd
creates a giant database of all applications on the system, and uses this database to determine which application to launch when a file is opened or a URL is clicked.