I haven't tested this. There is probably a better way of doing this looking at process information. I use a lock file to mark that the program is already running. The problem is that for an abrupt shutdown the file might not be removed.
To enhance your check, just write the PID into the file. On startup, if file exists, you may check that the process who has written it is still alive.
Aldric L. -- http://mail.python.org/mailman/listinfo/python-list