Wiki data import from Google Code
diff --git a/SignalHandling.md b/SignalHandling.md
new file mode 100644
index 0000000..6434e27
--- /dev/null
+++ b/SignalHandling.md
@@ -0,0 +1,28 @@
+# Introduction
+
+Sometimes an application needs to save internal state or perform some cleanup activity before it exits, or needs to be able to reload a configuration file or write a memory/cpu profile on demand.  In UNIX-like operating systems, signals can accomplish these tasks.
+
+# Example
+
+The following code demonstrates a program that waits for an interrupt signal and removes a temporary file when it occurs.
+
+```
+    package main
+    
+    import (
+        "io/ioutil"
+        "os"
+        "os/signal"
+    )
+    
+    func main() {
+        f, err := ioutil.TempFile("", "test")
+        if err != nil {
+            panic(err)
+        }
+        defer os.Remove(f.Name())
+        sig := make(chan os.Signal, 1)
+        signal.Notify(sig, os.Interrupt)
+        <-sig
+    }
+```
\ No newline at end of file