pdksh jako sh

Michal Moskal malekith w pld.org.pl
Pią, 15 Lut 2002, 14:53:22 CET


On Thu, Feb 14, 2002 at 10:06:36AM +0100, GoTaR wrote:
> Zastanawiam się, czy to dobre rozwiązanie. Od kilku tygodni zastanawiało
> mnie, dlaczego ubicie jednego procesu odpalanego przez ip-up tłucze mi
> od razu licznik czasu połączenia, ściąganie poczty i - jak się okazało
> dzisiaj, wszystko co jest odpalane z ip-up. No to testujemy:
> 
> x1:
> 
> #!/bin/sh
> 
> while :; do echo 1; done
> 
> x2:
> 
> #!/bin/sh
> 
> ./x1 &
> while :; do echo 2; done &
> 
> Po wykonaniu:
> 
> $ ./x2; sleep 2; killall x1
> 
> przez 2 sekundy przeplatają się na ekranie cyfry 1 oraz 2. Później
> przestają pojawiać się obie, co można też sprawdzić odpalając x2 a
> następnie kilując x1 na innym terminalu i oglądając wynik ps.
> Zmieniając x1 na:
> 
> #!/bin/bash
> 
> while :; do echo 1; done
> 
> Otrzymujemy zgoła inne działanie - po ubiciu x1 nadal żyje x2.
> 
> Z problemem tym spotkałem się już wcześniej, również przy okazji ppp,
> ale tym razem to mnie na prawdę zdenerwowało.
> Za podejrzane uznaję działanie pdksh (jako sh i ksh) a nie basha, gdyż
> bash zachowuje się w tej materii podobnie jak perl i IMHO - prawidłowo.
> 
> O ile skrypty z PLD z pdksh raczej działają, tak nie chciałbym odczuć
> zdenerwowania użytkowników, którym ich własne skrypty nie chcą z
> nieznanych przyczyn działać prawidłowo.

Trzeba wziąć SUS i sprawdzić jak *ma* być, a nie jak jest w bashu.
A w shellu sygnały można przechwytywać (trap).

-- 
: Michal ``,/\/\,       '' Moskal    | |            : GCS {C,UL}++++$
:          |    |alekith      @    |)|(| . org . pl : {E--, W, w-,M}-
:    Linux: We are dot in .ORG.    |                : {b,e>+}++ !tv h
:  CurProj: Gont Compiler: http://gont.pld.org.pl/  : PLD Team member



Więcej informacji o liście dyskusyjnej pld-devel-pl