さまざまなパラメータを使用して複数のシェルインスタンスを同時に実行する

さまざまなパラメータを使用して複数のシェルインスタンスを同時に実行する

さまざまなパラメータの組み合わせで実行したいPythonスクリプトがあるとします(私はMacBook Proを使用しています)。たとえば、シェルスクリプトを使用してこれを行う場合は、run.sh同時に複数回(毎回異なるパラメータの組み合わせを使用して)実行するのが合理的ですか?run.shつまり、メモリで実行されたときに異なるパラメータの組み合わせが互いに接触しますか?これはメモリ保護の概念と少し似ていますか?

ベストアンサー1

Pythonスクリプトが何をしているかによって、多くが異なりますrun.sh

非常に簡単な例を見てみましょう。

#!/bin/bash

s=$(( RANDOM%5 ))
echo Sleeping for $s > /tmp/foo
sleep $s
echo You entered $1 >> /tmp/foo
cat /tmp/foo

今私がそうすれば

./run.sh 1 &
./run.sh 2 &
./run.sh 3 &

どんな結果が出るのかわかりません。これは、スクリプトに/tmp/foo複数回アクセスできないリソース()が1つしかないためです。あるスクリプトが別のスクリプトの結果を上書きします。

逆に、正確でユニークな「一時」リソースを使用するようにスクリプトを作成した場合は、複数回呼び出すことができます。

#!/bin/bash

tmpfile=$(mktemp)

s=$(( RANDOM%5 ))
echo Sleeping for $s > $tmpfile
sleep $s
echo You entered $1 >> $tmpfile
cat $tmpfile
rm $tmpfile

これで、何度でも呼び出すことができ、動作します。

まあ…もちろんメモリとCPUの制限も考慮します!

おすすめ記事