On Mon, Nov 06, 2006 at 05:15:37AM -0700, Bruce Sass wrote: > On Mon November 6 2006 04:32, Marc Haber wrote: > > Now, kill all running exims manually, > > Do you mean with "killall" (leaving a stale pidfile in /var/run/exim4), > or "/etc/init.d/exim4 stop"?
Just killing them. The stale pidfile should be cleaned up automatically. btw, I advise against using killall just for the case you have to work on Solaris some time (where killall does do what the name says, unconditionally). I have resorted to using kill $(pidof exim4) which is trapless. > I have confirmed that rm-ing the pidfile and reinstalling exim4-daemon-light > results in a paniclog entry, which is what I saw with the last upgrade... That is expected. If you remove the pidfile, the daemon is not being killed since the init script is not aware of a daemon still running. Manually removing a pidfile belonging to a still-active daemon is sabotage. > [EMAIL PROTECTED]:~# rm /var/run/exim4/exim.pid > [EMAIL PROTECTED]:~# apt-get --reinstall install exim4-daemon-light > Stopping MTA:. See, that is not stopping the daeon that was already running. > Unpacking replacement exim4-daemon-light ... > Setting up exim4-daemon-light (4.63-10) ... > Starting MTA: exim4. And this is starting a second one, which cannot bind to the port since the port is still taken by the not stopped daemon. > [EMAIL PROTECTED]:~# killall exim4 > > ...leaving me with no daemon and no pidfile. > > > start one again, and then invoke start-stop-daemon --stop --pidfile > > /var/run/exim4/exim.pid > > --oknodo --retry 30 --exec /usr/sbin/exim4 and see whether the daemon > > stops, and/or the pid file still exists. > > > > An strace -f of that start-stop-daemon issue would be great as well. > > [EMAIL PROTECTED]:~# /etc/init.d/exim4 start > Starting MTA: exim4. > [daemon running and pidfile exists] > [EMAIL PROTECTED]:~# strace -f start-stop-daemon --stop --pidfile > /var/run/exim4/exim.pid --oknodo --retry 30 --exec /usr/sbin/exim4 Did you verify that there was indeed a pidfile with contents belonging to the actually running daemon? <snippage> > mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = > 0xa7e4f000 > read(3, "17741\n", 131072) = 6 > readlink("/proc/17741/exe", 0xafeb6930, 256) = -1 ENOENT (No such file or > directory) as this says that there was no process with that pid. Stupid question: /proc is mounted? If /proc is mounted, please go through the kill - start - trace motions again, and immediately afterwards do a ls -al /proc/<pid> with <pid> being the pid of the still running exim process. > close(3) = 0 > munmap(0xa7e4f000, 131072) = 0 > exit_group(0) = ? > Process 17873 detached > [EMAIL PROTECTED]:~# ps aux|grep exim Hm. So that time, the attempt to start exim was successful? I begin to suspect that there is something going on with your system. Is it possible for me to obtain a login accout to that box (including temporary root privileges)? Greetings Marc -- ----------------------------------------------------------------------------- Marc Haber | "I don't trust Computers. They | Mailadresse im Header Mannheim, Germany | lose things." Winona Ryder | Fon: *49 621 72739834 Nordisch by Nature | How to make an American Quilt | Fax: *49 621 72739835 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]