On Friday 31 October 2008 18:33:29 Denys Vlasenko wrote: > On Friday 31 October 2008 11:56, Rob Landley wrote: > > Just having _files_ open prevents umounting a mount without -f: > > > > sudo /bin/bash > > mkdir walrus > > mount -t ramfs walrus walrus > > touch walrus/walrus > > sleep 999 < walrus/walrus > > umount walrus > > > > A process has a file open in it. The filesystem is pinned until the > > process closes that file, unless you want to force the unmount (so the > > file starts getting a -ESOMETHINGOROTHER). > > This is not a problem. > killall5 -KILL closes a lot of open files.
If any of the ancestral processes that execed your shutdown thingy didn't close a filehandle (and didn't set it close on exec), your shutdown thing could itself have a file open and not know about it. PID 1 has no ancestors that have execed it, it came from the kernel. There are lots and lots and lots of little ways the thing you're describing can fail. There honestly _is_ a reason that people have spent all these years having PID 1 perform the shutdown. Honest and truly. > > > We do it not from process 1 but from it's children anyway. > > > Not much difference. > > > > So instead of signaling PID 1 to do the work, you signal PID 1 to stop > > respawning processes and have some other script do it. > > Yes. Or I have something else respawning processes, not init. > It's easier to deal with it if you can kill it. You're arguing from your conclusion. (If PID 1 isn't in control of the shutdown, then it's easier not to have PID 1 be in control of the shutdown.) > -- > vda Rob _______________________________________________ busybox mailing list [email protected] http://busybox.net/cgi-bin/mailman/listinfo/busybox
