diff -Naur a/toys/posix/kill.c b/toys/posix/kill.c
--- a/toys/posix/kill.c	2014-10-02 18:23:27.000000000 +0530
+++ b/toys/posix/kill.c	2014-10-07 09:36:55.671610628 +0530
@@ -63,11 +63,15 @@
   // list signal(s)
   if (toys.optflags & FLAG_l) {
     if (*args) {
-      int signum = sig_to_num(*args);
-      char *s = NULL;
-
-      if (signum>=0) s = num_to_sig(signum&127);
-      puts(s ? s : "UNKNOWN");
+      for (; *args; args++) {
+        int signum = sig_to_num(*args);
+        char *s = NULL;
+
+        if (signum >= 0)
+          s = num_to_sig(signum&127);
+        s ? (isdigit(**args) ? puts(s) : printf("%d\n", signum))
+          : error_msg("UNKNOWN signal '%s'", *args);
+      }
     } else sig_to_num(NULL);
     return;
   }
