Hello!
I have a daemon, that is launched with root privileges and works with the network.
And I would like this daemon to be able to unload an agent, that is started by a user.

I have read about bootstrap namespaces, but I am not sure I have understood correctly what was meant.
Can you please point me on how (if it is possible) to do this?

I tried the following:
first, i listed all the background apps that are loaded by launchd into the current user's bootstrap namespace
$ launchctl list
among other lines, i got the output: 
# com.eveningnick.myagent

then i typed:
$ sudo launchctl list
and, as expected, I haven't got my "com.eveningnick.myagent" there, instead i have a daemon
# com.eveningnick.mydaemon

there is a command that allows to let an another command be executed "from a bootstrap namespace":
(quote from "man launchctl"):
     bsexec PID command [args]
              This executes the given command in the same Mach bootstrap
              namespace hierachy as the given PID.

i found that my agent has PID which equals to 4724
so, I have typed:
$ sudo launchctl bsexec 4724 launchctl list
I have noticed the daemon, but not an agent in the output.

I tried the same with Finder's PID - and got the daemon again.
Why does this happen? 
How should one use this bsexec option? Or a different approach should be used here?
(I need a daemon to be able  to enumerate all users bootstrap spaces and unload an agent from each of them, if it had been previously loaded)

Thank you
Nick