PID einer aufgerufenen Funktion in der bash
Frank Bergmann
tx-7-12 at tuxad.com
Sun Apr 4 09:49:57 CEST 2010
In Sun, 4 Apr 2010, Florian Lohoff cum veritate scripsit :
> Es war ein proof of concept das du ein anderes problem als das beschriebene
> jagst ...
Manchmal jagt man ein Wildschwein und faengt eine Gulaschkonserve. ;-)
> > 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.
Jetzt hast Du vielleicht etwas falsch verstanden. Ich habe nicht
geschrieben, dass es ein Kernel- oder Bash-Problem ist. Ich schrieb nur,
dass Juergens Loesung unabhaengig von der Bash- und Kernelversion (wenn
nicht gar zu alt) funktioniert.
> 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
Da stellen sich jetzt zwei Fragen:
- Gilt das nur fuer Bash?
- Gilt das nur fuer interaktive Bash-Sessions oder auch im Batchmode? Wenn
das im Batchmode nicht auftritt, ist es ein Bug.
"read /proc/self/stat" funktioniert uebrigens auch in der dash, der ash,
der Heirloomshell, der ksh und anderen.
Frank
EDV Frank Bergmann Tel. 05221-9249753
LPIC-2 Linux Professional Fax 05221-9249754
Elverdisser Str. 25 email iservice at tuxad.com
32052 Herford USt-IdNr DE237314606
--
Experience is that marvelous thing that enables you to recognize
a mistake when you make it again. -- F. P. Jones
Sending unsolicited commercial email to this address may be a violation
of the Washington State Consumer Protection Act, chapter 19.86 RCW.
Das Verschicken unverlangter kommerzieller email an diese Adresse ist
verboten (LG Traunstein, 2 HK O 3755/97 vom 14.10.1997, CR 1998, 171f).
More information about the Linux
mailing list