http://qs321.pair.com?node_id=11125400


in reply to Re^2: Preventing multiple instances
in thread Preventing multiple instances

Assuming that the process is not running as root, you can kill -0 $(cat /path/to/file.pid) to see if the current user owns that process, or if it's running at all. Of course, lock the file before checking, and write the correct pid with the same lock.

There is Proc::Daemon which can take a pid file, but I haven't used it, so I don't know if it does the right thing.