Python context manager for managing pid files. Example usage:
import pidfile
import time
print('1')
try:
with pidfile.PIDFile():
print('2')
time.sleep(30)
except pidfile.AlreadyRunningError:
print('Already running.')
print('3')
The context manager will take care of verifying the existence of a pid file,
check its pid to see if it's alive, check the command line (which should be <something>/<python name>
), and
if all the conditions are met, rise a pidfile.AlreadyRunningError
exception.
PIDFile()
defaults to pidfile
for the file name, but it's possible to specify another, e.g. PIDFile('foobar.pid')
.