I'm also adding this comment because bug 49801 has been marked as a duplicate of this one. I'm not sure they are the same: the problem, dhclient not killed, is the same, but the conditions are different.
I installed Edgy on a new machine late yesterday, changed eth0 from dhcp to static in /etc/network/interfaces, ran ifdown eth0 && ifup eth0 and verified that eth0 had come back up with the correct static address.
All was well went I went home a few hours later but when I came back this morning discovered that the address assigned to eth0 had changed because the dhcp client was still running.
/var/run/dhclient.eth0.pid was not empty; it contained the pid of the rogue dhclient process.
I'll second tho's suggestion: could it be caused by ifdown assuming that the relevant part of /etc/network/interfaces hasn't changed since the network was brought up?
I'm also adding this comment because bug 49801 has been marked as a duplicate of this one. I'm not sure they are the same: the problem, dhclient not killed, is the same, but the conditions are different.
I installed Edgy on a new machine late yesterday, changed eth0 from dhcp to static in /etc/network/ interfaces, ran ifdown eth0 && ifup eth0 and verified that eth0 had come back up with the correct static address.
All was well went I went home a few hours later but when I came back this morning discovered that the address assigned to eth0 had changed because the dhcp client was still running.
/var/run/ dhclient. eth0.pid was not empty; it contained the pid of the rogue dhclient process.
I'll second tho's suggestion: could it be caused by ifdown assuming that the relevant part of /etc/network/ interfaces hasn't changed since the network was brought up?