Kanrisuru

Signal

The Kanrisuru::Util::Signal class is a lookup utility module that helps with translating and validating a signal from int to string representation. This lookup table currently supports linux signals.

Public Class Methods

[]

Lookup the opposing value of a signal. If the value is an integer, it will return a string; if the value is a string, it will return an integer.

Kanrisuru::Util::Signal['KILL']
9

Kanrisuru::Util::Signal[9]
'KILL'

valid?

Check if the signal exists in the lookup table.

Kanrisuru::Util::Signal.valid?('HUP')
true

Kanrisuru::Util::Signal.valid?(1)
true

Kanrisuru::Util::Signal.valid?('SIGHUP')
true

Kanrisuru::Util::Signal.valid?('')
false

Lookup Table

Has two lookup tables, @linux and @linux_inverted. Both created for quick in-memory lookup of signal translations.

Kanrisuru::Util::Signal.instance_variable_get(:@linux)
{
         "HUP" => 1,
         "INT" => 2,
        "QUIT" => 3,
         "ILL" => 4,
        "TRAP" => 5,
        "ABRT" => 6,
         "BUS" => 7,
         "FPE" => 8,
        "KILL" => 9,
        "USR1" => 10,
        "SEGV" => 11,
        "USR2" => 12,
        "PIPE" => 13,
        "ALRM" => 14,
        "TERM" => 15,
      "STKFLT" => 16,
        "CHLD" => 17,
        "CONT" => 18,
        "STOP" => 19,
        "TSTP" => 20,
        "TTIN" => 21,
        "TTOU" => 22,
         "URG" => 23,
        "XCPU" => 24,
        "XFSZ" => 25,
      "VTALRM" => 26,
        "PROF" => 27,
       "WINCH" => 28,
          "IO" => 29,
         "PWR" => 30,
         "SYS" => 31,
       "RTMIN" => 34,
     "RTMIN+1" => 35,
     "RTMIN+2" => 36,
     "RTMIN+3" => 37,
     "RTMIN+4" => 38,
     "RTMIN+5" => 39,
     "RTMIN+6" => 40,
     "RTMIN+7" => 41,
     "RTMIN+8" => 42,
     "RTMIN+9" => 43,
    "RTMIN+10" => 44,
    "RTMIN+11" => 45,
    "RTMIN+12" => 46,
    "RTMIN+13" => 47,
    "RTMIN+14" => 48,
    "RTMIN+15" => 49,
    "RTMAX-14" => 50,
    "RTMAX-13" => 51,
    "RTMAX-12" => 52,
    "RTMAX-11" => 53,
    "RTMAX-10" => 54,
     "RTMAX-9" => 55,
     "RTMAX-8" => 56,
     "RTMAX-7" => 57,
     "RTMAX-6" => 58,
     "RTMAX-5" => 59,
     "RTMAX-4" => 60,
     "RTMAX-3" => 61,
     "RTMAX-2" => 62,
     "RTMAX-1" => 63,
       "RTMAX" => 64
}


Kanrisuru::Util::Signal.instance_variable_get(:@linux_inverted)
{
     1 => "HUP",
     2 => "INT",
     3 => "QUIT",
     4 => "ILL",
     5 => "TRAP",
     6 => "ABRT",
     7 => "BUS",
     8 => "FPE",
     9 => "KILL",
    10 => "USR1",
    11 => "SEGV",
    12 => "USR2",
    13 => "PIPE",
    14 => "ALRM",
    15 => "TERM",
    16 => "STKFLT",
    17 => "CHLD",
    18 => "CONT",
    19 => "STOP",
    20 => "TSTP",
    21 => "TTIN",
    22 => "TTOU",
    23 => "URG",
    24 => "XCPU",
    25 => "XFSZ",
    26 => "VTALRM",
    27 => "PROF",
    28 => "WINCH",
    29 => "IO",
    30 => "PWR",
    31 => "SYS",
    34 => "RTMIN",
    35 => "RTMIN+1",
    36 => "RTMIN+2",
    37 => "RTMIN+3",
    38 => "RTMIN+4",
    39 => "RTMIN+5",
    40 => "RTMIN+6",
    41 => "RTMIN+7",
    42 => "RTMIN+8",
    43 => "RTMIN+9",
    44 => "RTMIN+10",
    45 => "RTMIN+11",
    46 => "RTMIN+12",
    47 => "RTMIN+13",
    48 => "RTMIN+14",
    49 => "RTMIN+15",
    50 => "RTMAX-14",
    51 => "RTMAX-13",
    52 => "RTMAX-12",
    53 => "RTMAX-11",
    54 => "RTMAX-10",
    55 => "RTMAX-9",
    56 => "RTMAX-8",
    57 => "RTMAX-7",
    58 => "RTMAX-6",
    59 => "RTMAX-5",
    60 => "RTMAX-4",
    61 => "RTMAX-3",
    62 => "RTMAX-2",
    63 => "RTMAX-1",
    64 => "RTMAX"
}