есть что-то вроде демона для каждого пользователя?

Мне нужно запустить некоторые фоновые процессы, которые живут до тех пор, пока я вошел в систему с определенным пользователем.

Существует ли что-то вроде демона для каждого пользователя? Я знаю только о глобальных демонах, которые живут от запуска компьютера до выключения (или ручного запуска / убийства).

на данный момент я создал скрипт, который проверяет, существует ли этот процесс и создает процесс, если он этого не делает. Затем этот скрипт запускается с помощью команды nohup из моего .profile . Таким образом, процесс запускается при запуске и запускается только один раз (даже при rxvt и использовании нескольких rxvt терминов). Тем не менее, он никогда не убивается после того, как я вхожу в журнал (что не является катастрофой, но чище также прекратить процесс).

  • Где запускать команды для запуска, когда X начинается с SLiM
  • Влияние записей в файле / etc / securetty
  • root может войти только в режиме ограничения доступа
  • Конкретный пользовательский SSH-RSA с корневым доступом (через AWS EC2)
  • (nologin) root и id X re-spawning
  • Можно ли напрямую входить в chroot?
  • Как запустить команду при входе в GNOME?
  • Установите переменную окружения автоматически после входа в систему SSH (без доступа root)
  • 3 Solutions collect form web for “есть что-то вроде демона для каждого пользователя?”

    systemd позволяет пользователям запускать собственные экземпляры systemd для управления частными демонами.

    Если у вас уже установлен systemd, все, что вам нужно сделать, это запустить systemd --user и управлять вашими службами, запустив systemctl --user . Пользовательские службы будут искать в ~/.config/systemd/user .

    По умолчанию systemd будет убивать пользовательские службы при выходе из системы (по вашему усмотрению). Это поведение может быть изменено, если вы задерживаете пользователя с помощью команды loginctl --enable-linger $USER .

    Мор можно найти на странице ArchWiki .

    Служба dbus предназначена для того, чтобы … что-то вроде этого, можно использовать для того, чтобы :-). Каждый пользователь dbus-деамон запускается, когда пользователь входит в рабочую среду и заканчивается при выходе пользователя из системы (см. --exit-with-session страницу dbus-launch и опции --exit-with-session ). Служба dbus может быть запущена вместе с экземпляром dbus или когда интерфейс службы называется первым через dbus. Каждый пользователь может иметь свои собственные спецификации услуг dbus, определенные в скрытом каталоге в домашнем доме пользователей или глобально в /etc См. Домашнюю страницу dbus на freedesktop для большой документации и справочной реализации.

    В наши дни я использую только дистрибутивы на основе Debian. Все они имеют сценарии в /etc/X11/Xsession.d которые очень часто изменяют строку, которая в самом конце будет оцениваться как команда, запускающая выбранную среду рабочего стола. Существует один такой скрипт для dbus, который добавляет команду с dbus-оболочкой dbus-launch . Эта оболочка запускает dbus-сервер и, по крайней мере, на ванильном Debian (и я готов сказать «на всех дистрибутивах на Debian»). Для dbus-launch предоставляется опция --exit-with-session .

    Вы должны иметь возможность обертывать процессы, которые вы хотите запускать, когда пользователь регистрируется в службе dbus, а IIRC dbus автоматически выполняет уход за завершением своих сервисов перед выходом.

    Если вы используете BASH в качестве оболочки, вы можете попытаться выполнить некоторое обнаружение в ~ / .bash_logout и завершить работу.

    То, что вы, вероятно, ищете в более долгосрочной перспективе, взаимодействует (например, через D-Bus) с чем-то вроде ConsoleKit или logd системы .

    Interesting Posts

    vsftpd с уведомлением по электронной почте

    Равномерно распределять ресурсы по нескольким направлениям

    Почему некоторые приложения используют ~ / .config / appname для своих конфигурационных данных, а другие используют ~ / .appname?

    Требуется разрешение на запись для установки тем в Linux Mint 17 «Rebecca» Mate

    Файл Kickstart – установщик игнорирует некоторые из пакетов «не устанавливайте» из раздела пакетов

    «Grep -r foo *» против «grep -r foo».

    CentOs 7 CronTab установлен JAVA_HOME

    Неверная корневая оболочка в файле / etc / passwd

    Какие каталоги нужны для резервного копирования?

    Установите стороннее программное обеспечение на Linux из источника

    Как сохранить пространство в литеральном выражении в значении массива в bash и как обрезать результаты из команды sort?

    Искать файлы по содержанию только в подкаталогах соединительных линий

    Блокировать SSH всем, кроме пользователя root

    Как сделать cifs / smb mount игнорировать umask?

    Как исправить вывод моего терминала персонажем?

    Linux и Unix - лучшая ОС в мире.