I want to know who is calling the gvfsd process and when? From where it is running? If we want to run it manually ...
Thanks
2 Answers
If you open a terminal and type ps axu | grep gvfsd you will see what instances of gvfsd are running.
It will show you where the process is running from and what arguments it was passed when started. It will also show you when it started and the user that started it.
1So this isn't complete answer but it may be a good starting point.
Dbus a shared bus used for communication between different programs, has the ability to lazily spawn processes to handle types of messages. It can therefore be used as a convenient way to handle long lived services for processes belonging to one user.
The definitions of how to automatically spawn services are set up in the dbus configuration /etc/dbus-1/session.conf, which on my machine seems to (implicitly) pull in /usr/share/dbus-1/services.
This basically means that any process, or a library it pulls in could be starting your service. As far as suggestions for how to work out who is doing the spawning there are two approaches:
- The
dbus-monitorcan monitor all messages on the bus. Possible you could killgvfsdand see who restarts it. - You may be able to convience the dbus daemon itself to do more monitoring.
For reference on my machine opening a terminal caused a new gvfsd to be started. So it might be difficult to live without this.