PID einer aufgerufenen Funktion in der bash
Florian Lohoff
f at zz.de
Sun Apr 4 08:29:52 CEST 2010
On Sat, Apr 03, 2010 at 12:20:00PM +0200, Frank Bergmann wrote:
> > ein seperates shell script was das zur laufzeit macht und nicht zur
>
> ... das ist Overkill.
Es war ein proof of concept das du ein anderes problem als das beschriebene
jagst ...
> Juergens Vorschlag ist die einfachste Moeglichkeit auch fuer alte Kernels
> und Bash-Versionen: "read pid rest </proc/self/stat".
Das ist kein Kernel problem sondern ein variable expansion time problem.
Und auch stdin/out umleitungen koennten von dem expansion problem betroffen
sein - siehe auch man bash
So geht es auch:
for i in `seq 1 4`; do sh -c "( echo $$ \$$ )" & done
Der trick ist das $$ so zu escapen das die originaere bash das dingen
nicht expanded - die dann "geforkte" aber ... In diesem fall
dadurch das es nicht einfach ein () ist - sondern sh -c "()" - dadurch
kann ich fuer die geforkte shell variablen escapen ...
Alle nicht escapten variablen werden von der parent expanded, die escapeten
dann erst von der child shell ..
Flo
--
Florian Lohoff f at zz.de
"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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 827 bytes
Desc: Digital signature
URL: <http://lug-owl.de/pipermail/linux/attachments/20100404/4ef26390/attachment.sig>
More information about the Linux
mailing list