Messages in this thread | ![/](/images/icornerl.gif) | | Subject | Re: Feature request: exec self for NOMMU. | From | Vadim Lobanov <> | Date | Tue, 26 Dec 2006 22:08:36 -0800 |
| |
On Wed, 2006-12-27 at 00:51 -0500, Rob Landley wrote: > On Wednesday 27 December 2006 12:13 am, Ray Lee wrote: > > How about openning an fd to yourself at the beginning of execution, then > > calling fexecve later? > > I haven't got a man page for fexecve. Does libc have it?
It's implemented inside glibc, and uses /proc to execve() the file that the fd points to. Here's the code from sysdeps/unix/sysv/linux/fexecve.c:
fexecve (fd, argv, envp) int fd; char *const argv[]; char *const envp[]; { ... /* We use the /proc filesystem to get the information. If it is not mounted we fail. */ char buf[sizeof "/proc/self/fd/" + sizeof (int) * 3]; __snprintf (buf, sizeof (buf), "/proc/self/fd/%d", fd);
/* We do not need the return value. */ __execve (buf, argv, envp); ... }
- 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/
| ![\](/images/icornerr.gif) |