On Fri, 19 Feb 1999, Rahul Dhesi wrote: > Many years ago I posted a shell script to Usenet in which I prepended a > line with 'exec', in an attempt to avoid having a shell process hanging > around doing a wait(). David Korn himself (of Korn shell fame) > responded saying this was not necessary, as the shell would do exec() > anyway. > > I check with trace() on a Sun and he seemed to be right. This was for > the classic Bourne shell many years ago. > > But I just checked /bin/sh on 3.1-RELEASE with ktrace and the above does > not seem to be true. I get drastically different traces for > > #! /bin/sh > exec /bin/pwd > > and > > #! /bin/sh > /bin/pwd > > Rahul
I know that the FreeBSD Bourne shell doesn't do this, nor does the PDKSH. I checked and the copy of the AT&T Korn shell I have (for BSDi) does do what David Korn says. > > > Date: Fri, 19 Feb 99 11:43:59 EST > > From: Mikhail Teterin <m...@misha.cisco.com> > > To: curr...@freebsd.org > > Message-Id: <199902191644.laa08...@misha.cisco.com> > > Subject: sh(1) -- exec vs. fork > > Reply-To: m...@aldan.algebra.com > > > I just finished going through a couple of crontabs prepending the > > command-lines with ``exec'', when it hit me. > > > > Can shell itself recognize, there will be no more commands and just > > proceed to exec without forking? What would this break? > ... > > > To Unsubscribe: send mail to majord...@freebsd.org > with "unsubscribe freebsd-current" in the body of the message > Brian Feldman _ __ ___ ___ ___ gr...@unixhelp.org _ __ ___ | _ ) __| \ http://www.freebsd.org/ _ __ ___ ____ | _ \__ \ |) | FreeBSD: The Power to Serve! _ __ ___ ____ _____ |___/___/___/ To Unsubscribe: send mail to majord...@freebsd.org with "unsubscribe freebsd-current" in the body of the message