On Thu, Apr 01, 2010 at 10:47:00PM +0200, Pierre Bernhardt wrote:
> Hallo,
> 
> wenn ich einen Process forke dann kann der Sohn mit getpid seine
> eigene PID heraus finden.
> 
> Wenn ich in der bash so etwas mache, wie findet dann der
> verbliebene Subprozess seine eigene PID heraus?
> 
> ( while <bedingung wahr ; do Befehle ; done ; PID=<wie auch immer> ) &
> disown $!
> exit

Kann es sein das du einfach das problem hast das der parent schon
$$ expanded und dadurch das im child nicht mehr geht bzw schon
expanded ist? Siehe auch man bash. Mein trivialansatz war hier
ein seperates shell script was das zur laufzeit macht und nicht zur
commandline parsezeit ...


f...@lifebook:~$ cat printpid 
#!/bin/sh

echo $1 " " $$


f...@lifebook:~$ ./printpid parent ; ( exec ./printpid child ) &
parent   9902
[1] 9903
f...@lifebook:~$ child   9903

[1]+  Done                    ( exec ./printpid child )

Flo
-- 
Florian Lohoff                                                 [email protected]
"Es ist ein grobes Missverständnis und eine Fehlwahrnehmung, dem Staat
im Internet Zensur- und Überwachungsabsichten zu unterstellen."
- - Bundesminister Dr. Wolfgang Schäuble -- 10. Juli in Berlin 

Attachment: signature.asc
Description: Digital signature

--
Linux mailing list [email protected]
subscribe/unsubscribe: http://lug-owl.de/mailman/listinfo/linux
Hinweise zur Nutzung: http://www.lug-owl.de/Mailingliste/hints.epo

Antwort per Email an