Current Path : /usr/local/share/ri/1.8/system/Signal/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/local/share/ri/1.8/system/Signal/cdesc-Signal.yaml |
--- !ruby/object:RI::ClassDescription attributes: [] class_methods: - !ruby/object:RI::MethodSummary name: list - !ruby/object:RI::MethodSummary name: trap comment: - !ruby/struct:SM::Flow::P body: Many operating systems allow signals to be sent to running processes. Some signals have a defined effect on the process, while others may be trapped at the code level and acted upon. For example, your process may trap the USR1 signal and use it to toggle debugging, and may use TERM to initiate a controlled shutdown. - !ruby/struct:SM::Flow::VERB body: " pid = fork do\n Signal.trap("USR1") do\n $debug = !$debug\n puts "Debug now: #$debug"\n end\n Signal.trap("TERM") do\n puts "Terminating..."\n shutdown()\n end\n # . . . do some work . . .\n end\n\n Process.detach(pid)\n\n # Controlling program:\n Process.kill("USR1", pid)\n # ...\n Process.kill("USR1", pid)\n # ...\n Process.kill("TERM", pid)\n" - !ruby/struct:SM::Flow::P body: "produces:" - !ruby/struct:SM::Flow::VERB body: " Debug now: true\n Debug now: false\n Terminating...\n" - !ruby/struct:SM::Flow::P body: The list of available signal names and their interpretation is system dependent. Signal delivery semantics may also vary between systems; in particular signal delivery may not always be reliable. constants: [] full_name: Signal includes: [] instance_methods: [] name: Signal superclass: