поиск systemd unit «владение» запущенным процессом демонов

Чтобы отладить проблему JACK / Pulseaudio, я хочу понять, когда и почему демона pulseaudio запускается systemd (на Fedora).

С помощью:

$ ps -o'pid,ppid,args' `pgrep pulse` 

Я вижу, что демона pulseaudio запускается systemd (pid = 1)

  PID PPID COMMAND 2738 1 /usr/bin/pulseaudio --start 

Тем не менее, мне не удалось найти какой-либо единичный файл в моей системе, содержащий pulseaudio или даже просто pulse .

Мои конкретные вопросы:

A) Есть ли способ определить модуль systemd, который вызвал создание определенного процесса (в моем примере вывод, процесс 2738, демон PA)?

B) Существуют ли альтернативные подходы к выяснению, какая цепочка зависимостей единицы или другие настройки systemd привела к вызову /usr/bin/pulseaudio --start ?

3 Solutions collect form web for “поиск systemd unit «владение» запущенным процессом демонов”

A) Есть ли способ определить модуль systemd, который вызвал создание определенного процесса (в моем примере вывод, процесс 2738, демон PA)?

Конечно. Вы можете запустить systemctl status <pid> а systemd найдет вам блок, содержащий этот PID. Например, в моей системе я нахожу процесс dnsmasq :

 # ps -fe | grep dnsmasq nobody 18834 1193 0 Aug25 ? 00:00:10 /usr/sbin/dnsmasq ... 

Кто это начал?

 # systemctl status 18834 ● NetworkManager.service - Network Manager Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2015-08-25 11:07:40 EDT; 1 day 21h ago Main PID: 1193 (NetworkManager) Memory: 1.1M CGroup: /system.slice/NetworkManager.service ├─ 1193 /usr/sbin/NetworkManager --no-daemon ├─ 1337 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-wlp3s0.... ├─18682 /usr/libexec/nm-openvpn-service ├─18792 /usr/sbin/openvpn --remote ovpn-phx2.redhat.com 443 tcp --nobind --dev redhat --de... └─18834 /usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --... 

У меня также есть процесс pulseaudio :

 # ps -fe | grep pulseaudio lars 2948 1 0 Aug25 ? 00:06:20 /usr/bin/pulseaudio --start 

systemctl status 2948 , я вижу:

 ● session-3.scope - Session 3 of user lars Loaded: loaded (/run/systemd/system/session-3.scope; static; vendor preset: disabled) Drop-In: /run/systemd/system/session-3.scope.d └─50-After-systemd-logind\x2eservice.conf, 50-After-systemd-user-sessions\x2eservice.conf, 50-Description.conf, 50-SendSIGHUP.conf, 50-Slice.conf Active: active (running) since Tue 2015-08-25 11:09:23 EDT; 1 day 21h ago CGroup: /user.slice/user-1000.slice/session-3.scope 

Это говорит мне, что pulseaudio был запущен с моего сеанса входа в настольный компьютер, а не явно через systemd.

Кстати, вы можете попросить ps показать соответствующий блок systemd.

 [lnykryn@notas]$ ps -o'pid,ppid,args,unit' `pgrep pulse` PID PPID COMMAND UNIT 1345 1 /usr/bin/pulseaudio --start session-1.scope 

Обратите внимание, что процесс, имеющий родительский PPID 1 , не означает, что он был создан systemd. Любой процесс, который теряет свой родительский процесс, автоматически переустанавливает родительский 1.

Вы можете увидеть иерархию системных процессов с помощью

 systemctl status 

который показывает мне среди других вещей (отредактирован):

 CGroup: |-1 /usr/lib/systemd/systemd --system --deserialize 17 |-system.slice `-user.slice `-user-1000.slice |-session-66.scope | |-4108 /bin/dbus-launch --autolaunch ... | |-4109 /bin/dbus-daemon --fork ... | `-5985 /usr/bin/pulseaudio --start --log-target=syslog 
  • Отправка сигнала в системуd, чтобы остановить появление сообщений на консоли
  • Что такое отсутствие прозрачности в systemd?
  • Возможно ли, чтобы пользователи debian подключались к сети через systemd-networkd?
  • Проверка файловой системы ошибок
  • Какие процессы не нужны для загрузки?
  • Запуск службы systemd внутри службы systemd вызывает тупик
  • хороший способ «резервного копирования» системных настроек?
  • Добавление системного .service (Debian)
  • Debian-Jessie: Как вы проверяете статус iptables?
  • Каков правильный способ разблокировать корневую файловую систему, охватывающую два устройства LUKS, только однажды введя пароль, используя systemd?
  • systemd продолжает размонтировать съемный диск
  • Interesting Posts

    Сканирование сети HP LaserJet M1536DNF на Scientific Linux 6.4 – Ошибка во время ввода / вывода устройства

    Состояние PF сохраняется в UDP-пакетах = проблема безопасности?

    Справка по редактированию инструкции sed

    Интервал обновления ldap netgroup в SSSD

    Есть ли способ манипулировать порядком аргументов stdin при использовании xargs, так же, как awk как $ 0, $ 1, $ 2 и т. Д.?

    На Debian (64-разрядная версия), как установить glibc, который я построил из исходного кода?

    Как настроить два разных типа на VPN-серверах на одном компьютере?

    Просмотр разрешения / владельца полного дерева каталогов

    Как получить клавиши со стрелками в подсказке at>

    имя переменной теряется, когда вкладка завершается, чтобы экспортировать переменную окружения с помощью пути

    Эффективность большого количества часов inotify или stat

    OverlayFS Плавно редактирует файл в нижнем каталоге

    Создание дистрибутива Linux, в котором работает только одно приложение

    Совместное использование псевдонимов и настроек PATH между zsh и bash

    Как правильно рекурсивно редактировать файлы (включая скрытые директории)

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