поиск 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 
  • Модуль iptables не загружен после обновления Ubuntu с 14.04 по 16.04
  • systemd: Перезапустить блоки, остановленные параметром «Конфликты»
  • Как установить Airflow в файлы systemd в ubuntu 16
  • Запуск системы и запуск одного ядра моего процессора
  • Не удалось загрузить после установки после обновления systemd
  • Как подключить файловую систему aufs при загрузке в archlinux?
  • systemd : задание raspi-config.service / start удалено, чтобы разбить порядок заказа, начиная с basic.target/start
  • сценарии обслуживания и системного сценария - которые можно использовать
  • Как только система была запущена, есть ли преимущества в использовании systemd?
  • Запуск Chromium при запуске с systemd
  • Почему разработчики пакетов Gentoo безоговорочно устанавливают системные файлы systemd (т. Е. Не зависят от флага USE)?
  • Interesting Posts

    Как запустить chrome из окна терминала после deb isntallation?

    Насколько может скрипт bash взаимодействовать с запущенным веб-браузером?

    Какая файловая система имеет лучшую поддержку для сокращения?

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

    Сиротские соединения в состоянии CLOSE_WAIT

    получить rsync для разыменования символических ссылок, представленных на cmdline, например find -H

    RPM «призрак» эквивалент в debian упаковке?

    Как сделать pwd и. определить текущий путь по-разному?

    Systemd: как запустить службу systemd после полной связи сети?

    ConsoleKit сообщает об активности / is-local только на втором + входе

    ls показывает временную метку без времени для файла на NFS

    Как «разделенный» знает тип файловой системы для разделов GPT?

    Замена sntp для аргумента -P (подсказка)

    Как использовать сетевой адаптер D-Link usb на debian

    Bash: Захват / использование последней (или N-й) строки в stdout

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