There are two different approaches to cater this problem without stopping multi-processing.
--First one is to use locking mechanism. You can create a file which will act as a shared resource and which ever process open it first it can write a lock character inside this way only one of the process will actually run the jobs.
--Second we can separate jobs from all the other code. What we can do is we can create cron jobs this way jobs will have no effect on server restart.