Re: BASH CSH

2005-12-16 Wątek mirek boruta
Dnia 16-12-2005, pią o godzinie 13:24 +0100, [EMAIL PROTECTED]
napisał(a):
> Ponieważ nie mogę tego zrobić w Bash'u więc powstała proteza:
> 
> skrypt s1 :
> #!/bin/bash
> 
> sleep 10
> echo "koniec s1"
> exit 0
> 
> skrypt s2 :
> #!/bin/bash
> 
> sleep 13
> echo "koniec s1"
> exit 0
> 
> skrypt s0 :
> #!/bin/tcsh
> 
> ./s1 &
> ./s2 &
> 
> while ( 1 )
> jobs > ./logjobs
> set i = `( cat ./logjobs | wc -l )`
> if ( $i == 0 ) then
> echo "koniec s0"
> exit 0
> endif
> sleep 5
> end
> 
> Polecenie jobs produkuje swoje wyjście do innego strumienia i
> jobs | wc -l nie zadziała; stąd pośrednictwo pliku.
> 
> Chodzi o to by skrypt główny sprawował kontrolę nad swoimi zadaniami
> i podejmował odpowiednie działania.
> Może komuś uda się uruchomić to wszystko w Bash'u ?

nie wiem jak to wygląda na starszej wersji (jeśli masz starszą wersję),
ale u mnie na 3.0-17 chodzi wszystko:

#!/bin/bash
sleep 20 &
sleep 30 &
jobs

jak i przerobiony na bash-a drugi (aczkolwiek musiałem zmienić wyjście
jobs

#!/bin/bash
sleep 10 &
sleep 30 &
while /bin/true; do
jobs
i=`jobs 2>&1 | wc -l`
echo $i;
if [ $i -eq 0 ]; then
echo "koniec s0"
exit 0
fi
sleep 5
done

-- 
mirosław boruta
rlu: #344083


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: BASH CSH

2005-12-16 Wątek wmq
Ponieważ nie mogę tego zrobić w Bash'u więc powstała proteza:

skrypt s1 :
#!/bin/bash

sleep 10
echo "koniec s1"
exit 0

skrypt s2 :
#!/bin/bash

sleep 13
echo "koniec s1"
exit 0

skrypt s0 :
#!/bin/tcsh

./s1 &
./s2 &

while ( 1 )
jobs > ./logjobs
set i = `( cat ./logjobs | wc -l )`
if ( $i == 0 ) then
echo "koniec s0"
exit 0
endif
sleep 5
end

Polecenie jobs produkuje swoje wyjście do innego strumienia i
jobs | wc -l nie zadziała; stąd pośrednictwo pliku.

Chodzi o to by skrypt główny sprawował kontrolę nad swoimi zadaniami
i podejmował odpowiednie działania.
Może komuś uda się uruchomić to wszystko w Bash'u ?

Pozdrawiam


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: BASH CSH

2005-12-16 Wątek wmq
By ograniczyć ilość szczegółów proponowałem skrypt :

#!/bin/bash

sleep 10 &
sleep 13 &

jobs

Powłoka uruchamia dwa zadania, które NIE są wyświetlane
a z "ręki" są.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: BASH CSH

2005-12-16 Wątek Paweł Tęcza
Hej!

On Fri, Dec 16, 2005 at 10:29:14AM +0100, Jaroslaw Bylina wrote:
[...]
> Nie wiem jak jest w csh, ale w bashu jobs pokazuje dzialania z biezacej
> powloki. A podskrypt wywolujesz pewnie przez
> 
> ./podskrypt
> 
> co powoduje wykonanie go w NOWEJ powloce (to ficzer, nie wada) -- wiec
> 'jobs' wywolane potem nic nie pokaze, bo to nie jego powloka.

Jesli ./podskrypt tworzy nowa powloke, to chyba komendy wewnatrz
podskryptu sa uruchamiane juz przez nowa powloke? Jesli tak, to jobs
powinien je pokazac. A jesli nie, to co wlasciwie robi nowa powloka?

Pozdrawiam,

P.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: BASH CSH

2005-12-16 Wątek wmq
A tak :
#!/bin/bash

sleep 20 &
sleep 30 &

jobs

i niestety nic nie wyświetla.
To somo z "ręki" działa poprawnie.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: BASH CSH

2005-12-16 Wątek Jaroslaw Bylina
[EMAIL PROTECTED] napisał(a):

>Piszę skrypt w którym istotny fragment to :
>- wywołanie podskryptu
>- jobs
>Po tej komendzie powinienem ujrzeć listę zadań powłoki.
>Jest tak wtedy jeśli jest to BASH ze znakiem zachęty.
>Jeżeli polecenia wprowadzę do skryptu Bashowego to już jobs
>NIE pokazuje zadań.
>Natomiast CSH zachowuje się prawidłowo !
>Czy w Bash'u trzeba coś dokonfigurować, czy to jest jego wada ?
>(chciałbym pozostać jednak przy Bash'u)
>  
>

Nie wiem jak jest w csh, ale w bashu jobs pokazuje dzialania z biezacej
powloki. A podskrypt wywolujesz pewnie przez

./podskrypt

co powoduje wykonanie go w NOWEJ powloce (to ficzer, nie wada) -- wiec
'jobs' wywolane potem nic nie pokaze, bo to nie jego powloka.
Natomiast jesli podskrypt wywolasz przez

. ./podskrypt  # kropka i spacja z przodu

lub

source ./podskrypt # (to jest rwnowazne temu, co wyzej)

nowa powloka nie bedzie tworzona i zadania rozpoczete w podskrypcie beda
sie wyswietlaly przez jobs.

pzdr,
jmb


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



BASH CSH

2005-12-16 Wątek wmq
Piszę skrypt w którym istotny fragment to :
- wywołanie podskryptu
- jobs
Po tej komendzie powinienem ujrzeć listę zadań powłoki.
Jest tak wtedy jeśli jest to BASH ze znakiem zachęty.
Jeżeli polecenia wprowadzę do skryptu Bashowego to już jobs
NIE pokazuje zadań.
Natomiast CSH zachowuje się prawidłowo !
Czy w Bash'u trzeba coś dokonfigurować, czy to jest jego wada ?
(chciałbym pozostać jednak przy Bash'u)

Pozdrawiam


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]