Class: ProcessCommand::Signal::Sender
- Inherits:
-
Object
- Object
- ProcessCommand::Signal::Sender
- Defined in:
- lib/process_command/signal/sender.rb
Constant Summary collapse
- SENDER_LOCK =
Mutex.new
- DEFAULT_DELAY =
0.05
Class Method Summary collapse
Class Method Details
.send(command, pid) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/process_command/signal/sender.rb', line 16 def send(command, pid) @delay ||= DEFAULT_DELAY command = Command.s2i(command).to_s(2) return if command.empty? SENDER_LOCK.synchronize do while bit = command.slice!(0) signal = bit == '0' ? Setting.bit0 : Setting.bit1 Process.kill(signal, pid) sleep @delay end Process.kill(Setting.control, pid) end end |
.set_delay(delay) ⇒ Object
12 13 14 |
# File 'lib/process_command/signal/sender.rb', line 12 def set_delay(delay) @delay = delay end |