Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!cmcl2!nrl-cmf!ames!xanth!kyle From: kyle@xanth.UUCP (Kyle Jones) Newsgroups: comp.unix.questions Subject: Re: C-shell idiosyncracy ?? Message-ID: <3387@xanth.UUCP> Date: Sun, 15-Nov-87 13:04:50 EST Article-I.D.: xanth.3387 Posted: Sun Nov 15 13:04:50 1987 Date-Received: Mon, 16-Nov-87 05:38:18 EST References: <33414@sun.uucp> <9316@mimsy.UUCP> Lines: 21 Summary: but... In article <9316@mimsy.UUCP>, chris@mimsy.UUCP (Chris Torek) writes: > In article <33414@sun.uucp> vipin%samsun@Sun.COM (Vipin Samar) writes: > >[1] + Stopped emacs foo > >{samsun} jobs | more > >{samsun} > > > >So, for some reasons I just cannot pipe the output of "jobs". > > To see why this happens, consider how pipes are implemented. > After creating a pipe, it is necessary to fork. A fork is > not the parent of any of its parent's processes, hence a > forked sub-C-shell must forget all its parent's jobs. No, it means the forked child C-shell cannot wait() for them. The internal information that csh stores about process states is available to the child, so why couldn't this information be used? It would be wrong in some instances (e.g. a process exits in the meantime) but the parent C-shell will notice and print updated information at the next prompt (or immediately if notify is set). kyle jones old dominion university, norfolk, va usa