File locking definitely sounds like the way to go. When you're starting the new process, it can check if a particular file has been locked. If it has, the process knows that there is already a process running. If it hasn't, this process can lock it to indicate to any subsequent processes that there is already a process running. Should be pretty simple.
HTH.