Module: MindControl::Client

Extended by:
Client
Included in:
Client
Defined in:
lib/mind_control/client.rb

Overview

MindControl client.

Defined Under Namespace

Classes: Process

Instance Method Summary collapse

Instance Method Details

#connect(process) ⇒ Object

Connect to given process.

Parameters:



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.

Parameters:

  • sockets_dir (String)

    Directory with MindControl sockets.

Returns:



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