You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to use supervisor + rsyslog + cronie in a docker container. Everything seems to work fine at the beguinning, but actually I realized that my container is stopping after one or two hours without any information the the logs. After many investigations I won't detail here, I realize that I can make my container stop easily with the following script:
#!/bin/sh
function luke () {
echo "I'm Luke Skywalker"
sleep 10
echo "Luke says goodbye"
exit 0
}
echo "I'm Dark Vador"
luke &
echo "Vador says goodbye"
exit 0
What happens with this script is that its creates a child and exit without reaping the child status. Then when the child stops, it send the SIGCHLD signal to its father which is now supervisord. And that's enough to make supervisor stops, and then my whole container stops.
I think I have something similar with my rsyslogd, I don't what exactly... Here is my supervisor.conf:
What happens with this script is that its creates a child and exit without reaping the child status. Then when the child stops, it send the SIGCHLD signal to its father which is now supervisord. And that's enough to make supervisor stops, and then my whole container stops.
Thanks for your answer. I use the latest one: 3.3.1. Currently, I have found a workaround using "tini" as my primary init software which then launches supervisord (https://github.com/krallin/tini) . Tini takes in account the sigchld of orphans process, and I still keep the flexibility of supervisord to manage my services. It seems to work like a charm.
Hello,
I'm trying to use supervisor + rsyslog + cronie in a docker container. Everything seems to work fine at the beguinning, but actually I realized that my container is stopping after one or two hours without any information the the logs. After many investigations I won't detail here, I realize that I can make my container stop easily with the following script:
What happens with this script is that its creates a child and exit without reaping the child status. Then when the child stops, it send the SIGCHLD signal to its father which is now supervisord. And that's enough to make supervisor stops, and then my whole container stops.
I think I have something similar with my rsyslogd, I don't what exactly... Here is my supervisor.conf:
So, do you have any idea?
Thanks a lot,
Stéphane
The text was updated successfully, but these errors were encountered: