Messages in this thread | | | Subject | Re: kill -9 <pid of X> | Date | Sat, 15 Aug 1998 16:35:31 +0200 | From | Olaf Titz <> |
| |
> If I boot with init=/bin/bash and mount /proc so I can see what's > happening, bash is called "init" and it is pid 1 as expected. > If I attempt to kill it, nothing happens because, by default, the > kernel will not send a signal 9 to pid 1. However, I can exit and > be left with nothing. In other words, if init exits, the kernel doesn't > automatically start another.
Linux 0.11 had this behaviour too. Back then there was no init and what the kernel started was /bin/sh. When you logged out you had to reboot.
Linux 0.12 then added code to the end of init/main.c which loops, forking off /bin/sh as soon as the old one dies. This is in effect a micro-version of init. It runs in user mode as task 1 and pid 1.
This code is still present as a fall-back in 2.0.* and used when none of /bin/init, /etc/init, /sbin/init exists or the boot argument "init" is given.
In 2.1 it was taken out. Apparently someone decided that nowadays everyone runs init, it isn't necessary any more. As the above shows, this reasoning is not exactly true. So we're back to 0.11 here ;-)
olaf
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html
| |