D.

先行ジョブの実行を待つ。

ジョブ A とジョブ B はそれぞれ cron で定時に実行される。
ジョブ B はジョブ A より後の時間に実行される。
ジョブ A がまだ実行中の場合はジョブ B はその終了を待たなければならない。

以上の要件を満たすためによくある原始的な手法として、一時ファイルを利用して実行をロックする方法がある。

ジョブ A
#!/bin/sh
touch jobA.lock
hogehoge # 処理
test -f jobA.lock && rm jobA.lock
ジョブ B
#!/usr/bin/env ruby
lock = true
while lock
  if FileTest.exist?("jobA.lock")
    sleep 10 # 10 秒待つ
  else
    lock = false
  end
end
hogehoge # 処理


この手の命題をクールに解決する方法は無いものだろうか。