On Fri, Jun 07, 2013 at 09:53:38PM +0200, Sergio Gelato wrote: > Package: ntp > Version: 1:4.2.6.p5+dfsg-2 > > The current /etc/init.d/ntp cannot recover from a situation in which > /var/run/ntpd.pid exists but does not contain the correct PID for the > running daemon. > > How to reproduce: > > # pgrep -f ntpd > 9219 > # ps -f -p 9404 > UID PID PPID C STIME TTY TIME CMD > root 9404 9395 0 20:38 pts/2 00:00:00 /bin/bash > # printf 9404 > /var/run/ntpd.pid
Why do you do this? > # invoke-rc.d ntp status > NTP server is running. > # echo $? > 0 > # invoke-rc.d ntp restart > Stopping NTP server: ntpd. > Starting NTP server: ntpd. > # echo $? > 0 > # pgrep -f ntpd > 9219 Did you expect something else, if you break the pid file? It's running as 9219, but you decided to write 9404 to the file. So of course it didn't kill it. > # cat /var/run/ntpd.pid > 9485 But you started a new one, which wrote a PID file, and then it died because it detected that an other ntpd was still running, and you really one want 1 running. It probably shouldn't have written the pid file in that case. But it should never have gotton in the situation if you didn't manually write something to that pid file. # ps -f -p 9404 > UID PID PPID C STIME TTY TIME CMD > root 9404 9395 0 20:38 pts/2 00:00:00 /bin/bash So the script did the right thing and did not kill some random process that happens to be written in the pid file. Kurt -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org