Module: MindControl::Client
Overview
MindControl client.
Defined Under Namespace
Classes: Process
Instance Method Summary collapse
-
#connect(process) ⇒ Object
Connect to given process.
-
#get_running_processes(sockets_dir) ⇒ Array<MindControl::Client::Process>
Returns running processes.
Instance Method Details
#connect(process) ⇒ Object
Connect to given process.
35 36 37 38 39 40 41 42 43 |
# File 'lib/mind_control/client.rb', line 35 def connect( process ) UNIXSocket.open( process.socket ) do |socket| socket.send_io STDIN socket.send_io STDOUT # Wait for disconnect socket.recv( 1 ) end end |
#get_running_processes(sockets_dir) ⇒ Array<MindControl::Client::Process>
Returns running processes.
21 22 23 24 25 26 27 28 29 |
# File 'lib/mind_control/client.rb', line 21 def get_running_processes( sockets_dir ) processes = Dir.glob( File.join( sockets_dir, "*.sock" )).map do |file| name, pid = File.basename( file, ".sock" ).split( "." ) Process.new( name, pid.to_i, file ) end # Ignore not existent processes processes.select { |process| ::Process.kill( 0, process.pid ) rescue false } end |