# File lib/daemons/pidfile.rb, line 34 def self.find_files(dir, progname, delete = false, pid_delimiter = nil) files = Dir[File.join(dir, "#{progname}#{pid_delimiter || DEFAULT_PID_DELIMITER}*.pid")] files = Dir[File.join(dir, "#{progname}.pid")] if files.size == 0 files.delete_if { |f| not (File.file?(f) and File.readable?(f)) } if delete files.delete_if do |f| pid = File.open(f) { |h| h.read }.to_i rsl = !Pid.running?(pid) if rsl begin; File.unlink(f); rescue ::Exception; end yield(pid, f) if block_given? end rsl end end files end