>> Пока ты не скажешь, как именно запущен процесс, твой вопрос не имеет никакого смысла. И в какой ОС.
> Я запускаю все процессы под Linux и через systemd. Но мне чертовски интересно, как это делаете вы, в мире, где systemd не существует. По-этому я не знаю, как вы запускаете процессы. Предположим обычным sysv-init или rc.subr - на выбор.Если ты запускаешь процесс systemd'ой, лучше всего ей же и останавливать, очевидно.
sysvinit, ЕМНИП, штатных средств для запуска в контейнере не имеет. Можно написать своё, да. Потому и вопрос - "КАК ИМЕННО ЗАПУЩЕН".
В случае FreeBSD - там контейнеры - jail. Когда я ей пользовался, запускать сервис в джейле надо было тоже какой-то самописной логикой.
В любом случае, проблемы решаемы. Во FreeBSD всегда можно посмотреть на jail id у процесса и выбрать правильный. В Linux можно сделать cat /proc/$PID/cgroup и/или ls /proc/$PID/ns/* и понять, в какой сигруппе/нэймспейсе контейнер, ну и далее по вкусу..
>[оверквотинг удален]
> 0:02 /usr/libexec/sssd/sssd_pam --uid 0 --gid 0 --debug-to-files
> 16829 ? S
> 0:02 /usr/libexec/sssd/sssd_pam --uid 0 --gid 0 --debug-to-files
> 28421 ? S
> 0:02 /usr/libexec/sssd/sssd_pam --uid 0 --gid 0 --debug-to-files
> 28499 ? S
> 0:02 /usr/libexec/sssd/sssd_pam --uid 0 --gid 0 --debug-to-files
> 28947 ? S
> 0:03 /usr/libexec/sssd/sssd_pam --uid 0 --gid 0 --debug-to-files
> Дано: Есть hypervisor с 4 контенерами. И на гипервизоре и в контейнерах крутиться sssd демон, который авторизует юзеров из LDAP. Какой из вышеперечисленных процессов работает на гипервизоре, а какой в контейнерах?
См. выше про магию с /proc. Плюс есть ещё команда lsns, чтобы понять, какие вообще нэймспейсы есть.
> Задача: написать init скрипт, который рестартанёт нужный sssd_pam
Сорян, но нет. Скрипт я писать не буду. Всё, что нужно для его написания я перечислил в этом ответе. Поиграйся с примерами команд, что я тебе писал, если ты правда хочешь разобраться, а не потроллить, станет понятно, как отличать контейнеры без systemd.
Собственно, мой изначальный поинт был в том, что cgroups/namespaces - это свойство ОС, а не systemd и всем этим можно пользоваться и из скриптов, было бы только желание.
Ну и кстати вопрос, а точно ли это хорошая практика - убивать контейнеризованый демон с гипервизора?