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]