Я хочу знать, кто вызывает процесс gvfsd и когда? Откуда он бежит? Если мы хотим запустить его вручную ...
Спасибо
Если вы откроете терминал и наберете ps axu | grep gvfsd
, вы увидите, какие экземпляры gvfsd работают.
Он покажет вам, откуда запущен процесс и какие аргументы он передал при запуске. Он также покажет вам, когда это началось, и того, кто его запустил.
Так что это не полный ответ, но это может быть хорошей отправной точкой.
Dbus
Общая шина, используемая для связи между различными программами, обладает способностью лениво порождать процессы для обработки типов сообщений. Поэтому его можно использовать как удобный способ обработки долгоживущих сервисов для процессов, принадлежащих одному пользователю.
Определения того, как автоматически порождать сервисы, установлены в конфигурации dbus /etc/dbus-1/session.conf
, которая на моей машине (неявно), по-видимому, использует /usr/share/dbus-1/services
.
Это в основном означает, что любой процесс или библиотека, к которой он подключен, может запускать ваш сервис. Что касается предложений о том, как определить, кто занимается порождением, существует два подхода:
dbus-monitor
может отслеживать все сообщения на шине. Возможно, вы могли бы убить gvfsd
и посмотреть, кто его перезапустит. Для справки, при открытии моей машины терминал вызвал запуск нового gvfsd. Так что без этого может быть трудно жить.