Subject: | running() destroys its own pid file before returning. |
The implementation of sub running() creates a Proc::PID::File object named $self in its lexical scope. As soon as running() returns, $self falls out of scope, and its DESTROY method is called. This removes the pid file that was created by running().