From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lists.gentoo.org ([140.105.134.102] helo=robin.gentoo.org) by nuthatch.gentoo.org with esmtp (Exim 4.43) id 1E6TFs-0001Vh-7C for garchives@archives.gentoo.org; Sat, 20 Aug 2005 13:19:24 +0000 Received: from robin.gentoo.org (localhost [127.0.0.1]) by robin.gentoo.org (8.13.4/8.13.4) with SMTP id j7KDHgSb007795; Sat, 20 Aug 2005 13:17:42 GMT Received: from smtp.gentoo.org (smtp.gentoo.org [134.68.220.30]) by robin.gentoo.org (8.13.4/8.13.4) with ESMTP id j7KDHf5w019508 for ; Sat, 20 Aug 2005 13:17:41 GMT Received: from main.gmane.org ([80.91.229.2] helo=ciao.gmane.org) by smtp.gentoo.org with esmtp (Exim 4.43) id 1E6TEW-0007dT-SE for gentoo-user-de@lists.gentoo.org; Sat, 20 Aug 2005 13:18:01 +0000 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1E6TD6-0000W3-GO for gentoo-user-de@gentoo.org; Sat, 20 Aug 2005 15:16:34 +0200 Received: from p549e091b.dip0.t-ipconnect.de ([84.158.9.27]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 20 Aug 2005 15:16:32 +0200 Received: from tps by p549e091b.dip0.t-ipconnect.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 20 Aug 2005 15:16:32 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: gentoo-user-de@lists.gentoo.org From: Thomas Schweikle Subject: [gentoo-user-de] Re: Bash-Skript Frage Date: Sat, 20 Aug 2005 15:16:13 +0200 Organization: Ye 'Ol Disorganized NNTPCache groupie Message-ID: <1124543773.583312@hazel> References: <200508161616.21686.volker.katz@gmx.de> <43021EF0.20408@freenet.de> <43070027.3030204@vr-web.de> <43070874.7080507@gmx.net> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user-de@gentoo.org Reply-to: gentoo-user-de@lists.gentoo.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: p549e091b.dip0.t-ipconnect.de User-Agent: Mozilla/5.0 (X11; U; Linux i686; de-AT; rv:1.7.11) Gecko/20050816 X-Accept-Language: de, en In-Reply-To: <43070874.7080507@gmx.net> Cache-Post-Path: hazel!unknown@yew.tps X-Cache: nntpcache 3.0.1 (see http://www.nntpcache.org/) Sender: news Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by robin.gentoo.org id j7KDHgT9007795 X-Archives-Salt: a512be57-4548-410e-886f-a0bec08860c3 X-Archives-Hash: 448b1e2d2fd7f5e5c3578f8afb60ca9b Hendrik J=C3=BCrgens schrieb: > Thomas Schweikle wrote: >>> Nils Andresen schrieb: >>>=20 >>>>Moin, >>>> >>>>Volker Katz wrote: >>>> >>>> >>>>>Also in der Art: >>>>> >>>>>/bin/job1 & >>>>>/bin/job2 & >>>>>/bin/job3 & >>>>>while (not job1 finished && not job2 finished && not job3 finished) >>>>>/bin/job4 >>>>>=20 >>>>> >>>> >>>>Macht >>>>( /bin/job1 & /bin/job2 & /bin/job3 ) && /bin/job4 >>>>nicht das ?! >>>=20 >>>=20 >>> Nein, macht es nicht: >>> - job 1 wird im Background ausgef=C3=BChrt >>> - job 2 wird im Background ausgef=C3=BChrt >>> - job 3 wird im Vordergrund ausgef=C3=BChrt >>> nach *erfolgreichem* beenden von job 3 wird job 4 ausgef=C3=BChrt. >>>=20 >>> Die Klammern um job 1 bis job 3 sorgen nur daf=C3=BCr, dass das Envir= onment >>> (bis auf den R=C3=BCckgabewert) nicht ver=C3=A4ndert wird. >>>=20 >>> (sleep 60 & sleep 60 & sleep 5) && echo "Fertig!" >>> ps axf nach 0s: >>> 13619 pts/1 Ss 0:00 \_ -/bin/bash >>> 2846 pts/1 S+ 0:00 | \_ -/bin/bash >>> 2847 pts/1 S+ 0:00 | \_ sleep 60 >>> 2848 pts/1 S+ 0:00 | \_ sleep 60 >>> 2849 pts/1 S+ 0:00 | \_ sleep 15 >>>=20 >>> ps axf nach 10s: >>> 2847 pts/1 S 0:00 sleep 60 >>> 2848 pts/1 S 0:00 sleep 60 >>>=20 >>> ps axf nach 61s: >>>=20 >=20 > Tach. >=20 > Damit sollte das vielleicht so gehen. Die jobs 1-3 werden im Hintergrun= d > ausgef=C3=BChrt. Ihre PIDs in den Variablen job1-3 gespeichert und dana= ch auf > das Beenden der Jobs gewartet, bevor job4 ausgef=C3=BChrt wird, >=20 > #!/bin/bash > job1 & job1=3D$! > job2 & job2=3D$! > job3 & job3=3D$! > wait $job1 > wait $job2 > wait $job3 > job4 >=20 > wait $wmpid Ja. nur gef=C3=A4llt mir die Variante aus <20050816151216.GA32458@stovokor.kiste.lan> besser. Ich w=C3=BCrde hergeh= en in das ganze in eine Schleife packen: for i in job1 job2 job3 jobn; do $i & pids=3D"${pids} $!" done wait $pids echo "Fertig!" noch eleganter: function waitjob() { $* & pids=3D"$pids $!" } waitjob job1 waitjob job2 waitjob jobn wait $pids echo "Fertig!" --=20 Thomas --=20 gentoo-user-de@gentoo.org mailing list