#!/bin/bash alias traps='trap -l|sed "s,\t,\n,g;s,),:,g;s,SIG,,g;s, \([0-9]\),\1,g"' alias kills='for h in $(builtin kill -l); do echo "$(builtin kill -l $h): $h"; done'; function trapinfo () { local signum=${1:-} sigdesc="`trapdesc ${1:-}`"; case $signum in 1 | HUP | SIGHUP) echo "${signum}: ${sigdesc}: HUP - SIGHUP" ;; 2 | INT | SIGINT) echo "${signum}: ${sigdesc}: INT - SIGINT" ;; 3 | QUIT | SIGQUIT) echo "${signum}: ${sigdesc}: QUIT - SIGQUIT" ;; 4 | ILL | SIGILL) echo "${signum}: ${sigdesc}: ILL - SIGILL" ;; 5 | TRAP | SIGTRAP) echo "${signum}: ${sigdesc}: TRAP - SIGTRAP" ;; 6 | ABRT | SIGABRT) echo "${signum}: ${sigdesc}: ABRT - SIGABRT" ;; 7 | BUS | SIGBUS) echo "${signum}: ${sigdesc}: BUS - SIGBUS" ;; 8 | FPE | SIGFPE) echo "${signum}: ${sigdesc}: FPE - SIGFPE" ;; 9 | KILL | SIGKILL) echo "${signum}: ${sigdesc}: KILL - SIGKILL" ;; 10 | USR1 | SIGUSR1) echo "${signum}: ${sigdesc}: USR1 - SIGUSR1" ;; 11 | SEGV | SIGSEGV) echo "${signum}: ${sigdesc}: SEGV - SIGSEGV" ;; 12 | USR2 | SIGUSR2) echo "${signum}: ${sigdesc}: USR2 - SIGUSR2" ;; 13 | PIPE | SIGPIPE) echo "${signum}: ${sigdesc}: PIPE - SIGPIPE" ;; 14 | ALRM | SIGALRM) echo "${signum}: ${sigdesc}: ALRM - SIGALRM" ;; 15 | TERM | SIGTERM) echo "${signum}: ${sigdesc}: TERM - SIGTERM" ;; 16 | STKFLT | SIGSTKFLT) echo "${signum}: ${sigdesc}: STKFLT - SIGSTKFLT" ;; 17 | CHLD | SIGCHLD) echo "${signum}: ${sigdesc}: CHLD - SIGCHLD" ;; 18 | CONT | SIGCONT) echo "${signum}: ${sigdesc}: CONT - SIGCONT" ;; 19 | STOP | SIGSTOP) echo "${signum}: ${sigdesc}: STOP - SIGSTOP" ;; 20 | TSTP | SIGTSTP) echo "${signum}: ${sigdesc}: TSTP - SIGTSTP" ;; 21 | TTIN | SIGTTIN) echo "${signum}: ${sigdesc}: TTIN - SIGTTIN" ;; 22 | TTOU | SIGTTOU) echo "${signum}: ${sigdesc}: TTOU - SIGTTOU" ;; 23 | URG | SIGURG) echo "${signum}: ${sigdesc}: URG - SIGURG" ;; 24 | XCPU | SIGXCPU) echo "${signum}: ${sigdesc}: XCPU - SIGXCPU" ;; 25 | XFSZ | SIGXFSZ) echo "${signum}: ${sigdesc}: XFSZ - SIGXFSZ" ;; 26 | VTALRM | SIGVTALRM) echo "${signum}: ${sigdesc}: VTALRM - SIGVTALRM" ;; 27 | PROF | SIGPROF) echo "${signum}: ${sigdesc}: PROF - SIGPROF" ;; 28 | WINCH | SIGWINCH) echo "${signum}: ${sigdesc}: WINCH - SIGWINCH" ;; 29 | IO | SIGIO) echo "${signum}: ${sigdesc}: IO - SIGIO" ;; 30 | PWR | SIGPWR) echo "${signum}: ${sigdesc}: PWR - SIGPWR" ;; 31 | SYS | SIGSYS) echo "${signum}: ${sigdesc}: SYS - SIGSYS" ;; 34 | RTMIN | SIGRTMIN) echo "${signum}: ${sigdesc}: RTMIN - SIGRTMIN" ;; 35 | RTMIN+1 | SIGRTMIN+1) echo "${signum}: ${sigdesc}: RTMIN+1 - SIGRTMIN+1" ;; 36 | RTMIN+2 | SIGRTMIN+2) echo "${signum}: ${sigdesc}: RTMIN+2 - SIGRTMIN+2" ;; 37 | RTMIN+3 | SIGRTMIN+3) echo "${signum}: ${sigdesc}: RTMIN+3 - SIGRTMIN+3" ;; 38 | RTMIN+4 | SIGRTMIN+4) echo "${signum}: ${sigdesc}: RTMIN+4 - SIGRTMIN+4" ;; 39 | RTMIN+5 | SIGRTMIN+5) echo "${signum}: ${sigdesc}: RTMIN+5 - SIGRTMIN+5" ;; 40 | RTMIN+6 | SIGRTMIN+6) echo "${signum}: ${sigdesc}: RTMIN+6 - SIGRTMIN+6" ;; 41 | RTMIN+7 | SIGRTMIN+7) echo "${signum}: ${sigdesc}: RTMIN+7 - SIGRTMIN+7" ;; 42 | RTMIN+8 | SIGRTMIN+8) echo "${signum}: ${sigdesc}: RTMIN+8 - SIGRTMIN+8" ;; 43 | RTMIN+9 | SIGRTMIN+9) echo "${signum}: ${sigdesc}: RTMIN+9 - SIGRTMIN+9" ;; 44 | RTMIN+10 | SIGRTMIN+10) echo "${signum}: ${sigdesc}: RTMIN+10 - SIGRTMIN+10" ;; 45 | RTMIN+11 | SIGRTMIN+11) echo "${signum}: ${sigdesc}: RTMIN+11 - SIGRTMIN+11" ;; 46 | RTMIN+12 | SIGRTMIN+12) echo "${signum}: ${sigdesc}: RTMIN+12 - SIGRTMIN+12" ;; 47 | RTMIN+13 | SIGRTMIN+13) echo "${signum}: ${sigdesc}: RTMIN+13 - SIGRTMIN+13" ;; 48 | RTMIN+14 | SIGRTMIN+14) echo "${signum}: ${sigdesc}: RTMIN+14 - SIGRTMIN+14" ;; 49 | RTMIN+15 | SIGRTMIN+15) echo "${signum}: ${sigdesc}: RTMIN+15 - SIGRTMIN+15" ;; 50 | RTMAX-14 | SIGRTMAX-14) echo "${signum}: ${sigdesc}: RTMAX-14 - SIGRTMAX-14" ;; 51 | RTMAX-13 | SIGRTMAX-13) echo "${signum}: ${sigdesc}: RTMAX-13 - SIGRTMAX-13" ;; 52 | RTMAX-12 | SIGRTMAX-12) echo "${signum}: ${sigdesc}: RTMAX-12 - SIGRTMAX-12" ;; 53 | RTMAX-11 | SIGRTMAX-11) echo "${signum}: ${sigdesc}: RTMAX-11 - SIGRTMAX-11" ;; 54 | RTMAX-10 | SIGRTMAX-10) echo "${signum}: ${sigdesc}: RTMAX-10 - SIGRTMAX-10" ;; 55 | RTMAX-9 | SIGRTMAX-9) echo "${signum}: ${sigdesc}: RTMAX-9 - SIGRTMAX-9" ;; 56 | RTMAX-8 | SIGRTMAX-8) echo "${signum}: ${sigdesc}: RTMAX-8 - SIGRTMAX-8" ;; 57 | RTMAX-7 | SIGRTMAX-7) echo "${signum}: ${sigdesc}: RTMAX-7 - SIGRTMAX-7" ;; 58 | RTMAX-6 | SIGRTMAX-6) echo "${signum}: ${sigdesc}: RTMAX-6 - SIGRTMAX-6" ;; 59 | RTMAX-5 | SIGRTMAX-5) echo "${signum}: ${sigdesc}: RTMAX-5 - SIGRTMAX-5" ;; 60 | RTMAX-4 | SIGRTMAX-4) echo "${signum}: ${sigdesc}: RTMAX-4 - SIGRTMAX-4" ;; 61 | RTMAX-3 | SIGRTMAX-3) echo "${signum}: ${sigdesc}: RTMAX-3 - SIGRTMAX-3" ;; 62 | RTMAX-2 | SIGRTMAX-2) echo "${signum}: ${sigdesc}: RTMAX-2 - SIGRTMAX-2" ;; 63 | RTMAX-1 | SIGRTMAX-1) echo "${signum}: ${sigdesc}: RTMAX-1 - SIGRTMAX-1" ;; 64 | RTMAX | SIGRTMAX) echo "${signum}: ${sigdesc}: RTMAX - SIGRTMAX" ;; 65) echo "${signum}: ${sigdesc}: invalid signal specification" ;; *) echo "${signum}: ${sigdesc}: Unknown Signal" ;; esac } function trapdesc () { case $1 in 0) echo "Bogus signal" ;; 1) echo "Hangup" ;; 2) echo "Interrupt" ;; 3) echo "Quit" ;; 4) echo "Illegal instruction" ;; 5) echo "BPT trace/trap" ;; 6) echo "ABORT instruction" ;; 7) echo "Bus error" ;; 8) echo "Floating point exception" ;; 9) echo "Killed" ;; 10) echo "User signal 1" ;; 11) echo "Segmentation fault" ;; 12) echo "User signal 2" ;; 13) echo "Broken pipe" ;; 14) echo "Alarm clock" ;; 15) echo "Terminated" ;; 17) echo "Child death or stop" ;; 18) echo "Continue" ;; 19) echo "Stopped (signal)" ;; 20) echo "Stopped" ;; 21) echo "Stopped (tty input)" ;; 22) echo "Stopped (tty output)" ;; 23) echo "Urgent IO condition" ;; 24) echo "CPU limit" ;; 25) echo "File limit" ;; 26) echo "Alarm (virtual)" ;; 27) echo "Alarm (profile)" ;; 28) echo "Window changed" ;; 29) echo "I/O ready" ;; 30) echo "power failure imminent" ;; 31) echo "Bad system call" ;; *) echo "Unknown" ;; esac }