スクリプトは他のスクリプトの実行を通知しますが、完了するまで開始を遅らせることはできますか?

スクリプトは他のスクリプトの実行を通知しますが、完了するまで開始を遅らせることはできますか?

別のスクリプトの実行を開始するスクリプトが必要ですが、最初のスクリプトの残りの部分が完了するまで、2番目のスクリプトは1〜2秒ほど実行を開始しないでください。

順序は次のとおりです。

  1. スクリプトAを起動します。
  2. スクリプトAは、スクリプトBを実行すべきことを示すタスクを実行する。
  3. スクリプトAが完了しました。
  4. 1、2回通過しました。
  5. スクリプトBが実行を開始します。

可能ですか?

ベストアンサー1

シェルスクリプトでこれを行う方法は次のとおりです。他の人はPythonで答えなければなりません。

$ cat scriptA
#!/bin/sh
echo begin script A
(sleep 2; nohup ./scriptB 2>/dev/null) &
echo end script A at $(date)
$ cat scriptB
#!/bin/sh
date > scriptB.dat

実行例:

$ ./scriptA
begin script A
end script A at Sun Nov 26 20:46:10 EST 2017
$ sleep 2
$ cat scriptB.dat
Sun Nov 26 20:46:12 EST 2017

おすすめ記事