プロセスを複数回実行するための迅速で汚い方法

プロセスを複数回実行するための迅速で汚い方法

私はプロセスを何度も起動できる非常に単純なbashスクリプトを探しています。私にとって最も重要なのは、プロセスが終了した後にすべてが自動的にクリーンアップされることです。

予想使用量:

bash multiplerun.sh 5 executable.sh parameters_to_executable

私は自分で書くことができますが、時間がかかるので、私は* ixシステムをうまく使用できないので、専門家に尋ねることにしました。

編集:ああ、並行して実行したいことを追加するのを忘れました。一つずつ実行するのはとても簡単です。

ベストアンサー1

プログラムを並列に開始する方法は次のとおりです。

#!/bin/bash

count=$1
command=$2
shift 2

for ((i=0;i<count;i++)); do
  $command "$@" &
done
wait
echo done

指示を待つとゾンビが表示されなくなります。プログラムにttyが必要ない場合は、ループを次のように置き換えることができます。

for ((i=0;i<count;i++)); do
  nohup $command "$@" </dev/null >/dev/null 2>&1 &
done

このようにして、プロセスはシェルから分離されます。

おすすめ記事