Re: Dissociating process from bin's filesystem

From: Padraig Brady (padraig@antefacto.com)
Date: Thu Apr 25 2002 - 06:42:59 EST


I'm think this is not possible at the moment.

The file of the executing process is in use as the backing store for
one or more live virtual memory areas, so changing it could
corrupt the processes using those areas. Hence you can't umount.

Now the Mach kernel has a MAP_COPY flag to the mmap system call
which would do what you want, but this is mucho complex/messy,
so don't hold your breath for a linux implementation.

A related note on shared libraries is you don't get the
"text file busy" message if you update them while they're in use,
like you do for executable files. The reason is MAP_DENYWRITE
is ignored for security reasons. I think Eric Biederman has
a workaround though?

So in summary if you want a process to run independently of
a filesystem, make it static and run it from a ramdisk.

Padraig.

Eric Buddington wrote:
> Is there any way to dissociate a process from its on-disk binary? In
> other words, I want to start 'foo_daemon', then unmount the filesystem
> it started from. It seems to me this would be reasonably accomplished
> by loading the binary completely into memory first ro eliminate the
> dependence.
>
> Is this possible, or planned? Are there intractable problems with it
> that I don't see?
>
> Eric Buddington

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Apr 30 2002 - 22:00:10 EST