Re: BASH CSH
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
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
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
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
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
[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
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]