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

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

別のスクリプトの実行を開始するには 1 つのスクリプトが必要ですが、最初のスクリプトの残りの部分が 1 秒か 2 秒完了するまで、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

答え2

シェルコードが動作している間にAppleScriptは実行できますか?もしそうなら、

do shell script "pathtoyourcodehere"
delay 3
display dialog "fmpro interface foo here"

関連情報