22

以下のように実行している3つのシェルスクリプトがあります-

sh -x script1.sh

sh -x script2.sh

sh -x script3.sh

したがって、各スクリプトは、前のスクリプトの実行が終了した後、一度に 1 つずつ順番に実行されます。

問題文:-

上記の 3 つのスクリプトすべてを 1 つのウィンドウから同時に実行する方法はありますか? script1、script2、script3 を同時に実行したいだけです。いくつかの CRON JOB スケジューリングscript1 at 3 AM, script2 at 3AM, script3 at 3AM(3 つのスクリプトすべてを同時に、同時に) について考える場合。3 つのスクリプトすべてを同時に実行する必要があります。

4

4 に答える 4

40

あなたはこれを求めている?

$ sh -x script1.sh & sh -x script2.sh & sh -x script3.sh &

更新の説明:

  • 現在のコマンドが完了するのを待たずに次のコマンドが実行されるように、各スクリプトをバックグラウンド モードで実行します。
  • '&'プロンプトが完了するのを待たないように、スクリプトをバックグラウンドで実行します。
  • '&'また、コマンド ラインでコマンドを 1 つずつ実行するのと同様に、1 行でコマンドを連鎖させるためにも使用できます。
于 2012-10-16T04:54:24.160 に答える
7

GNU Parallel を使用すると、次のことができます。

parallel sh -x ::: script1.sh script2.sh script3.sh

スクリプトが実行可能であれば、次のこともできます。

parallel ::: script1.sh script2.sh script3.sh

詳細については、紹介ビデオをご覧ください: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

10 秒のインストール:

$ (wget -O - pi.dk/3 || lynx -source pi.dk/3 || curl pi.dk/3/ || \
   fetch -o - http://pi.dk/3 ) > install.sh
$ sha1sum install.sh | grep 883c667e01eed62f975ad28b6d50e22a
12345678 883c667e 01eed62f 975ad28b 6d50e22a
$ md5sum install.sh | grep cc21b4c943fd03e93ae1ae49e28573c0
cc21b4c9 43fd03e9 3ae1ae49 e28573c0
$ sha512sum install.sh | grep da012ec113b49a54e705f86d51e784ebced224fdf
79945d9d 250b42a4 2067bb00 99da012e c113b49a 54e705f8 6d51e784 ebced224
fdff3f52 ca588d64 e75f6033 61bd543f d631f592 2f87ceb2 ab034149 6df84a35
$ bash install.sh
于 2013-08-05T11:23:44.853 に答える
6

を使用&すると、プロセスをバックグラウンドで実行できます。

sh -x script1.sh &
sh -x script2.sh &
sh -x script3.sh &
于 2012-10-16T05:02:37.983 に答える
4

何を達成しようとしているのかはわかりませんが、これら 3 つを呼び出すスクリプトを作成するか、最後に「&」を追加してバックグラウンドに送信できます。

sh -x script1.sh &
sh -x script2.sh &
sh -x script3.sh &
于 2012-10-16T04:56:23.217 に答える