postpone ======== Locking flow ------------ 1. get lock for this task if already locked, there is already a task running, exit successfully 2. check dpkg/other locks if successful, run now in foreground, release lock, exit 3. fork to background 4. wait for dpkg/other locks 5. run in background, release lock, exit