Eugene Berdnikov <b...@protva.ru> wrote:
> On Thu, Sep 14, 2023 at 12:21:03PM +0300, Andrey Jr. Melnikov wrote:
> > А у тебя случаем контейнеров на машинке не крутится? А то смотри,
> > start-stop-daemon у нас тупенький, он про отдельные неймспесы ничего не
> > знает. Поэтому, когда у тебя запущенно несколько экземпляров чего либо в
> > различных контейнерах - start-stop-daemon на host-машине ведет себя весма
> > оригинально - то сигнал не в тот процесс пришлёт, то узрит живущий демон в
> > контенйнере и откажется запускать его-же на хосте. Из-за этого, приходтся
> > весь пакадж с dpkg пересобирать. Хотя, надо наверное сделать отдельный и
> > через dpkg-divert подсовывать нужный start-stop-daemon.

>  У меня везде, где есть контейнеры, стоит система инициализации systemd.
>  Потому что lxc, например, под SysV-init не жилец (да, я знаю, что можно
>  запускать контейнеры lxc под sysv, но это будет не работа, а бесконечный
>  бег по граблям).
У меня везде стоит SysV-init где контейнеры. И ничего - граблей не наблюдаю.
И даже контейненры с systemd внутри - тоже работают, хотя раньше это изделие
не могло там стартануть нормально. 

>  Но я писал про сислоги в контексте физических машин и контейнеров
>  без вложенности, где start-stop-daemon ошибиться не может.
Вопрос не во вложенности, а имеено в том, что на физическом хосте
start-stop-daemon путается в запущенном. Следи за руками:

~# ps ax | grep cron
   1722 ?        Ss     0:00 /usr/sbin/cron -f
  23546 ?        Ss     0:00 /usr/sbin/cron
  23772 pts/0    S+     0:00 grep cron
~# start-stop-daemon --status --exec /usr/sbin/cron ; echo $?
0
~# /etc/init.d/cron stop
Stopping cron (via systemctl): cron.service.
~# ps ax | grep cron
  23546 ?        Ss     0:00 /usr/sbin/cron
  23798 pts/0    S+     0:00 grep cron
~# start-stop-daemon --status --exec /usr/sbin/cron ; echo $?
0

Видишь, на хосте cron не работает, в контейнере - работет, но по мнению
start-stop-daemon - он работает на хосте.

Остановим контейнер:

~# lxc-stop test
~# ps ax | grep cron
  24127 pts/0    S+     0:00 grep cron
~# start-stop-daemon --status --exec /usr/sbin/cron ; echo $?
3

О. Теперь мы заметили, что "program is not running". Вот такая чудная
запускалка демонов.

Ответить