2016-08-19 3 views
2

特定の時刻にバックグラウンドでスクリプトを実行したい。ジョブは入力引数を受け取ります。ジョブをスケジュールするために、私はatコマンドを使用して、このようにそれを実行しなければならないことが判明:Linuxでジョブをスケジュールし、引数を渡して並列に実行する方法

at -f ./myjob now 

、それが動作します。しかし、私がこのような議論でそれを実行したいとき:

at -f ./myjob 1 now 

それは私にGarbled時間エラーメッセージを与えます。誰もがどのように問題を解決するためのアイデアを持っていますか?

更新: 異なるパラメータでジョブを並行して実行したいとします。この

at -f ./myjob 1 now 

at -f ./myjob 2 now 

at -f ./myjob 3 now 
+0

'echo" ./myjob 1 "|今のところおそらくあなたが探しているものでしょうか...あるいは、今のところ<<< "./myjob 1" '... – twalberg

答えて

1

ようatコマンドは、ファイルではなく、標準入力からコマンドを読み込み-f fileオプションがあります。したがって、次のことを含んであろう、たとえばcmdsのために、ファイル内のあなたのコマンドを置く:

./myjob 1 

各ジョブをforkする並行使用にアンパサンド演算子を複数のジョブを実行するには:次に

./myjob 1 & 
./myjob 2 & 
./myjob 3 

実行します。

at -f ./cmds now 

詳しい情報はman atを経由して、at manページを読むことによって見つけることができます。

+0

このジョブを別の入力値と並行して実行したいのですが。私はそれを1つのファイルに入れると、それは並行ではなく直列で実行されます – user2373198

+0

申し訳ありませんが、私は私の質問に変更を加えました。 – user2373198

+0

@ user2373198私は自分の答えを更新しました。 –

関連する問題