Skip site navigation (1)Skip section navigation (2)
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>