Skip to content

clicube/command_server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CommandServer

Library to put commands into running ruby process via socket.

You can check status of the process and execute methods.

Install

gem install command_server

Usage

require 'command_server'

class SomeWorkClass

  def initialize
    @cmdserver = CommandServer.new
    @cmdserver.enable_builtin_command("eval");
    @cmdserver.enable_builtin_command("help");
    @cmdserver.register_command("show_threads", proc{ puts Thread.list })
    @cmdserver.register_command("show_pid", proc{ puts $$ })
    @cmdserver.start("/tmp/some_work_socket")
  end

end

SomeWorkClass.new
sleep

And then, put a command from 'cmdshell'

$ cmdshell /tmp/some_work_socket show_threads
#<Thread:0x007f88728cb7c8>
#<Thread:0x007f88729e1c48>
#<Thread:0x007f88729e10b8>

Or put commands interactively

$ cmdshell /tmp/some_work_socket
(/tmp/some_work_socket)> help
Available commands:
  eval
  help
  show_pid
  show_threads
(/tmp/some_work_socket)> show_pid
2971
(/tmp/some_work_socket)> show_threads
#<Thread:0x007f88728cb7c8>
#<Thread:0x007f88729e1c48>
#<Thread:0x007f88729e10b8>
(/tmp/some_work_socket)> eval puts self
main

License

This software is released under the MIT License, see LICENSE.txt.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages