static char *sccsid
= "@(#)kill.c 4.4 (Berkeley) 4/20/86";
* kill - send signal to process
"HUP", "INT", "QUIT", "ILL", "TRAP", "IOT", "EMT", "FPE", /* 1-8 */
"KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "URG", /* 9-16 */
"STOP", "TSTP", "CONT", "CHLD", "TTIN", "TTOU", "IO", "XCPU", /* 17-24 */
"XFSZ", "VTALRM", "PROF", "WINCH", 0, "USR1", "USR2", 0, /* 25-31 */
register signo
, pid
, res
;
extern char *sys_errlist
[];
printf("usage: kill [ -sig ] pid ...\n");
printf("for a list of signals: kill -l\n");
for (signo
= 0; signo
<= NSIG
; signo
++) {
printf("%s ", signm
[signo
]);
} else if (isdigit(argv
[1][1])) {
if (signo
< 0 || signo
> NSIG
) {
printf("kill: %s: number out of range\n",
for (signo
= 0; signo
<= NSIG
; signo
++)
if (signm
[signo
] && !strcmp(signm
[signo
], name
))
printf("kill: %s: unknown signal; kill -l lists signals\n", name
);
if (!(isdigit(**argv
) || **argv
== '-'))
res
= kill(pid
= atoi(*argv
), signo
);
printf("%u: %s\n", pid
, sys_errlist
[errno
]);