Date: Wed, 23 Sep 1998 09:23:41 -0700 (PDT) From: David Wolfskill <dhw@whistle.com> To: andre.albsmeier@mchp.siemens.de, freebsd-questions@FreeBSD.ORG Subject: Re: How to get the PID before a program is run? (No joke :-) Message-ID: <199809231623.JAA05443@pau-amma.whistle.com> In-Reply-To: <199809230729.JAA12131@internal>
next in thread | previous in thread | raw e-mail | index | archive | help
>From: Andre Albsmeier <andre.albsmeier@mchp.siemens.de> >Date: Wed, 23 Sep 1998 09:29:47 +0200 (CEST) >I have a rather curious problem here: >I want to start a program but I need its PID before >it is run. One way would be to load the program and >send a -STOP signal very quickly. Then I have got the >PID, can do some things and send a -CONT signal when >finished. That does not meet the stated requirement of determining the PID *before* it's run. Indeed, I don't know of a way to accomplish the stated requirement. >This is rather ugly. On my old Atari ST there was a >function Pexec() which could be called with a special >parameter which did all things in order to run a >program but actually didn't pass control to it. >I am sure there must be an esay way to do this on >FreeBSD but I didn't find any. My preferred way >of using it would be in a shell script but every >hint is welcome. Well, when you fork(), the parent is told the child process' PID right away. You could "wrap" the real program in a shell script that immediately issues a "kill -STOP" before doing an "exec" of the real program, I suppose. david -- David Wolfskill UNIX System Administrator dhw@whistle.com voice: (650) 577-7158 pager: (650) 371-4621 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199809231623.JAA05443>