PID einer aufgerufenen Funktion in der bash

Pierre Bernhardt pierre at starcumulus.owl.de
Thu Apr 1 22:47:00 CEST 2010


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

Irgend eine Idee? $$ hilft nicht:

pierre at nihilnihil:~/tmp$ cat test
#!/bin/bash

( sleep 10 ; echo  subproc $$ ) &
echo main $$
pstree -p $$
disown $!
pstree -p $$
echo exit
exit


pierre at nihilnihil:~/tmp$ ./test
main 8818
test(8818)─┬─pstree(8820)
           └─test(8819)───sleep(8821)
test(8818)─┬─pstree(8822)
           └─test(8819)───sleep(8821)
exit
pierre at nihilnihil:~/tmp$ pstree -p 8819
test(8819)───sleep(8821)
pierre at nihilnihil:~/tmp$ subproc 8818

Gesucht wird hier 8819.

MfG...
Pierre

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 316 bytes
Desc: OpenPGP digital signature
URL: <http://lug-owl.de/pipermail/linux/attachments/20100401/da8bee79/attachment.sig>


More information about the Linux mailing list