She-bang und die dazugehoerige Shell

Florian Lohoff flo at rfc822.org
Tue Dec 30 11:50:32 CET 2003


On Tue, Dec 30, 2003 at 02:26:47AM +0100, Hauke Joachim Zuehl wrote:
> Es geht eigentlich um eine Sache, die ich bisher als 08/15 angenommen
> habe, aber durch ein Posting in dcoulm bin ich neugierig geworden.
> 
> Angenommen man hat folgendes Skript:
> #!/bin/bash
> read a
> exit 0
> 
> und nennt das zB foo.sh.
> Starte ich nun "./foo.sh" sehe ich foo.sh in der Prozesstabelle.
> Aber muesste da nicht als Elternprozess noch eine bash sein?
> Auch ein strace -f hat mir nicht weitergeholfen.
> Ueberall lese ich nur, dass der She-bang dazu dient, den passenden
> Interpreter zu starten...aber wo isser dann?

Die bash heisst in dem fall foo.sh - Bzw in der prozesstabelle steht sie
so - Prozesse duerfen unter einigen Unixen ihren prozesstitel
veraendern.

Z.b. der vsftpd

nobody   18493  2366  0 11:42 ?        00:00:00 vsftpd: 217.231.242.192: connected
ftp      18496 18493  0 11:42 ?        00:00:00 vsftpd: 217.231.242.192/ftp: IDLE
nobody   18728  2366  0 11:45 ?        00:00:00 vsftpd: 80.130.31.63: connected
ftp      18730 18728  0 11:45 ?        00:00:00 vsftpd: 80.130.31.63/ftp: RETR kernel-source-2.4.18_2.4.18-13_all.deb
nobody   18744  2366  0 11:46 ?        00:00:00 vsftpd: 80.11.98.58: connected
ftp      18746 18744  0 11:46 ?        00:00:00 vsftpd: 80.11.98.58/ftp: IDLE
nobody   18759  2366  0 11:47 ?        00:00:00 vsftpd: 80.132.103.140: connected
ftp      18761 18759  0 11:47 ?        00:00:00 vsftpd: 80.132.103.140/ftp: IDLE
nobody   18797  2366  0 11:47 ?        00:00:00 vsftpd: 80.130.31.63: connected
ftp      18799 18797  0 11:47 ?        00:00:00 vsftpd: 80.130.31.63/ftp: RETR libopenh323-dev_1.7.4-6_i386.deb
nobody   18814  2366  0 11:48 ?        00:00:00 vsftpd: 217.187.166.185: connected
ftp      18816 18814  0 11:48 ?        00:00:00 vsftpd: 217.187.166.185/ftp: RETR debian/pool/main/d/dvd+rw-tools/dvd+rw-

Ich nehme an das entweder der kernel so pfiffig ist zu merken das er
nicht den interpreternamen als processtitle sondern das schkrippt als
namen setzen muss.

Ich denke im kernel source muesste man mal suchen oder ggfs. im bash source.

Flo
-- 
Florian Lohoff                  flo at rfc822.org             +49-171-2280134
                        Heisenberg may have been here.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lug-owl.de/pipermail/linux/attachments/20031230/5592faf8/attachment.sig>


More information about the Linux mailing list