ProcessCommand
Interprocess communication with command for ruby
Usage
#in receiver process(pid: 9999)
require 'process_command'
ProcessCommand.init_receiver
ProcessCommand.on(:pause) { p "server paused" }
ProcessCommand.on(:resume) { p "server resumed" }
#in sender process
require 'process_command'
ProcessCommand.send :pause, 9999
Mode
Unix socket (default)
ProcessCommand.mode = :socket
Signal
ProcessCommand.mode = :signal
Customization
For logger
ProcessCommand.logger = ProcessCommand::Logger
For mode socket, default path /tmp, you can change it ProcessCommand::Socket::Setting.set_path(path)
For mode signal, default signals are USR1, USR2, HUP, you can change them both in sender and receiver
ProcessCommand::Signal::Setting.set_bits(bit0_signal, bit1_signal)
ProcessCommand::Signal::Setting.set_control(control_signal)