"vfork" was intended to be used when the subprocess was going shuffle file descriptors, cd .. directory , etc. - and then "exec". it only copy the u. area (same resources the parent process had). ----- Original Message ----- From: "Javier Guerra" <listasJGG@eos.com.pe> To: <kernelnewbies@nl.linux.org> Sent: Sunday, February 09, 2003 9:56 PM Subject: Re: vfork() > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > MAASK Group wrote: > > >Vfork is a combination of fork() and exec(). > > > > I am confused. The programmer explicitly has to call exec() after a > > vfork(). right? > > right, vfork() isn't a combination of fork() and exec(), more exactly, it's a > version of fork() to be used only when immediatly followed by a exec() > so, instead of writing > > if (! fork ()) > exec (...); > > you could write > > if (! vfork ()) > exec (...); > > and avoid the copying of the process segment that would be overwritten by > exec(). in modern OSs, the process is marked copy-on-write, so it's just as > fast, without the restrictions. that's why it's man page tells you not to > use it anymore. > > - ------ > Javier > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.2.1 (GNU/Linux) > > iD8DBQE+Rn3HsIoGnxsRK/ERAmzmAJ0YLEju/TRGLnX8asM3vEN/MgMVXQCgpdUL > B4WhKo2sgxVbxDkGq/QPbLo= > =Bxlb > -----END PGP SIGNATURE----- > > -- > Kernelnewbies: Help each other learn about the Linux kernel. > Archive: http://mail.nl.linux.org/kernelnewbies/ > FAQ: http://kernelnewbies.org/faq/ > > -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/