python-diamond / Diamond

Diamond is a python daemon that collects system metrics and publishes them to Graphite (and others). It is capable of collecting cpu, memory, network, i/o, load and disk metrics. Additionally, it features an API for implementing custom collectors for gathering metrics from almost any source.
http://diamond.readthedocs.org/
MIT License
1.74k stars 601 forks source link

Diamond doesn't stop centos6 #630

Closed davidballano closed 2 years ago

davidballano commented 7 years ago

HI guys, I recently built a centos rpm package from master, I noticed that systemV init script is not able to stop diamond, it kills the main process but all the children move their parent to pid=1 after that, PID file gets removed and if you start another diamond you end up with a bunch of old/new processes.

here some examples:

root 3318 1 1 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3319 3318 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3327 3318 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3330 3318 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3332 3318 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3334 3318 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3337 3318 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3339 3318 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3343 3318 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3345 3318 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3349 3318 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3351 3318 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3353 3318 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3358 3318 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3361 3318 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid

/etc/init.d/diamond stop Stopping diamond: [ OK ]

ps -ef | grep diamond root 3319 1 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3327 1 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3330 1 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3332 1 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3334 1 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3337 1 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3339 1 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3343 1 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3345 1 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3349 1 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3351 1 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3353 1 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3358 1 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid root 3361 1 0 22:40 ? 00:00:00 /usr/bin/python2.7 /usr/bin/diamond -p /var/run/diamond.pid

are you able to reproduce this problem? my package is built from this commit 943af9e7b8f2ee6a02af487ba5e2dc6101482579 if that makes any sense.

thanks!

DStape commented 6 years ago

May be related to #595

shortdudey123 commented 2 years ago

This should be fixed in master. If it is still occurring, open and add updated info.