lib/splash/helpers.rb in prometheus-splash-0.4.5 vs lib/splash/helpers.rb in prometheus-splash-0.5.0

- old
+ new

@@ -11,22 +11,24 @@ def group_root return Etc.getgrgid(0).name end - # facilité pour récupérer un PID depuis une regexp + # facilité pour récupérer les PID depuis une regexp # @param [Hash] options - # @option options [String] :pattern une regexp + # @option options [String] :pattern un motif de regexp + # @option options [Array] :patterns Un tableau de motif de regexp # @return [String] le PID - def get_process(options = {}) - pattern = options[:pattern] - res = `ps aux|grep '#{pattern}'|grep -v grep`.to_s - unless res.empty? then - return res.split(/\s+/)[1] - else - return '' + def get_processes(options = {}) + patterns = [] + patterns = options[:patterns] if options[:patterns] + patterns << options[:pattern] if options[:pattern] + res = PS.get_all_processes + patterns.each do |item| + res = res.find_processes item end + return res.pick_attr('PID') end # facilities to find a file in gem path # @param [String] _gem a Gem name @@ -154,10 +156,13 @@ exit! 0 end } if options[:foreground] change_logger logger: :dual + Process.setproctitle options[:description] if options[:description] + p $0 return yield + p 'titi' end fork do change_logger logger: :daemon #Process.daemon File.open(options[:pid_file],"w"){|f| f.puts Process.pid } if options[:pid_file]