Как остановить демон, когда пользователь выходит из системы?

Я написал демон на C ++, который автоматически запускается при входе в систему с использованием bash-скрипта, помещенного в /etc/profile.d/, во время работы с разделом install моего make-файла. Проблема в том, что когда я выхожу из системы и снова вхожу в нее, теперь запускаются два экземпляра демона.

Мне бы хотелось, чтобы кто-то первым остановился, когда я вышел из системы, а не продолжил. В любом случае, он должен работать только когда кто-то вошел в систему. Как мне убедиться, что мой демон не работает после выхода из системы?

1
задан 23 April 2014 в 03:50

2 ответа

При использовании D-шины в приложении Вы могли бы прислушаться к сигналу SessionOver на org.gnome. Интерфейс SessionManager. С C++ Qt5 выглядел бы примерно так Ваш код:

QDBusConnection dbus = QDBusConnection::sessionBus();
dbus.connect("org.gnome.SessionManager", "",
    "org.gnome.SessionManager", "SessionOver",
    this, SLOT(handle_sessionOver());

Ссылки:

0
ответ дан 23 April 2014 в 03:50

Можно остановить демона, использующего сценарий удара, который выполняется при выходе из системы

, Добавляет следующая строка в , lightdm.conf

session-cleanup-script=<path-to-logout-bash-script>

lightdm.conf может быть найден по телефону

  • /etc/init/lightdm.conf

    или

  • /etc/lightdm/lightdm.conf

, Это могло бы сделать задание

0
ответ дан 23 April 2014 в 03:50

Другие вопросы по тегам:

Похожие вопросы: