Sha256: ac0636e2502d4b0be245abd6d27cce417d2c2a1a15c797bb432cf4f4a8bfdfbe
Contents?: true
Size: 900 Bytes
Versions: 2
Compression:
Stored size: 900 Bytes
Contents
module Mirage module CLIBridge def mirage_process_ids *ports ports.flatten! mirage_instances = {} ["Mirage Server", "mirage_server", "mirage server"].each do |process_name| processes_with_name(process_name).lines.collect { |line| line.chomp }.each do |process_line| pid = process_line.split(' ')[1] port = process_line[/port (\d+)/, 1] mirage_instances[port] = pid end end return mirage_instances if ports.first.to_s.downcase == "all" Hash[mirage_instances.find_all { |port, pid| ports.include?(port.to_i) }] end def kill pid ChildProcess.windows? ? `taskkill /F /T /PID #{pid}` : `kill -9 #{pid}` end def processes_with_name name if ChildProcess.windows? `tasklist /V | findstr "#{name.gsub(" ", '\\ ')}"` else IO.popen("ps aux | grep '#{name}' | grep -v grep | grep -v #{$$}") end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mirage-2.4.1 | lib/mirage/client/cli_bridge.rb |
mirage-2.4.0 | lib/mirage/client/cli_bridge.rb |