* On Mon, 03 Feb 2003 at 10:08 +0100, Bernd Brodesser wrote:
* Adalbert Michelic schrieb am 03.Feb.2003:
* On Mon, 03 Feb 2003 at 9:26 +0100, Sebastian Bauer wrote:
Habe folgendes Problem. Mit WAIT kann ich auf ein Programm warten, bis es beendet ist, indem ich die PID eingebe. Wenn ich nun in einem Script auf diese PID warten möchte, wie bekomme ich zuvor die PID? Gibt es einen Befehl, der als Rückgabewert mir die PID des Programmes liefert?
Nun, da gibt es z.B. den Befehl pidof - siehe man pidof.
pidof kannte ich noch nicht, aber wenn ich die Manpages richtig verstehe, dann braucht es als Argument den Namen des Programmes. Aber wer garantiert, daß es diesen Namen nur einmal gibt? Es könnte doch ein anderer User zur gleichen Zeit das gleiche Skript aufgerufen haben. Oder auch man selber.
Ja, sonderlich verlässlich ist diese Methode nicht.
Auch die bash stellt Dir in den Variablen $? und $! die PID der zuletzt aufgerufenen Vorder- bzw. Hintergrundprozesse zu Verfügung - siehe man bash.
$! ist richtig. Aber $? gibt nicht den PID [1], sondern den Exitstatus zurück. Von dem PID hättest Du auch nichts, denn wenn es sich um ein Vordergrundprogramm handelt, dann ist der Prozeß tot, bevor Du den PID lesen könntest.
*aufshirnschlag* Verzweiflung, wie kann ich nur so einen Blödsinn reden ... Natürlich, Du hast recht. [...]
[1] Es heißt _der_ Identifizierer, daher der PID, oder etwa nicht?
Hmmm, hört sich plausibel an. Die PID sagte ich, weils mir leichter von der Zunge ging, ich hab mir da noch nicht sonderlich viele Gedanken gemacht :-) -- Adalbert GPG welcome, request public key: mailto:adalbert+key@lopez.at