Hi,
I'm developing an FSKit extension and noticed a consistent process lifecycle that also reproduces with Apple's official passthrough sample.
Environment:
- macOS: [26.5.2]
- Xcode: [26.6]
Observed behavior:
- After a successful mount, Activity Monitor shows two processes with the same executable path (the embedded .appex inside the host app).
- After umount, one process exits; one remains.
- A subsequent mount again results in two active processes (one lingering + one new mount-serving instance, depending on timing).
What I've ruled out:
-
Not caused by Instruments / lldb attach (reproduces after reboot, with no debugger attached).
-
Not specific to our project: Apple's official passthrough FSKit demo shows the same pattern.
-
Not duplicate pluginkit registrations at different paths — both processes report the same .appex executable path.
-
Not requiring the host app to be running — reproduces with command-line mount only (UDrive app and Xcode quit).
Questions:
- Is this the intended FSKit lifecycle?
- After umount, is it expected that one extension process remains idle rather than exiting completely?
Thanks!