我有一个使用了很长时间的linux守护程序,以我认为是典型的方式编写。特别是双叉,然后父母分叉了三个孩子并循环监视他们。此示例或多或少适用Creating a daemon in Linux
问题是我无法通过任何形式的CMD / ENTRYPOINT在docker容器中运行它,除非我在前台运行它(即典型的调试模式,没有任何形式的分叉)。我认为它作为守护程序运行似乎完全退出了?第一个父项退出。
但是,我可以使用Shell运行容器,并从那里成功将其作为守护程序启动。
我猜想这与docker pid 1问题有关,所以我尝试通过dumb-init运行它,但这也不起作用,它似乎还是退出了。
这时我很迷惑,怀疑我对pid 1问题不了解吗?任何帮助表示赞赏!谢谢