The "kill" command is often a shell builtin, which can confuse
people because it may work differently on different systems; not
because of the OS per se but rather because of the specific shell
or its lineage.
In this specific case, the original poster wanted to capture
exit status using kill -l. Specifically, he wanted to know what
signal had terminated his process. He gave examples of using kill
-l on SCO Unix, Linux, and Sunos, but the real issue was the
shell - the built in shell "kill" was different (as it often is)..
Note that "man kill" is not necessarily the same as (for
instance) doing "man bash" and skipping down to the section that
describes the built-in kill. If you specifically want /bin/kill,
just call it that way.
At the OS level, there is, of course, a kill function, and on
some systems a specific "raise" function that allows a process to
send a signal to itself.