xref: /original-bsd/bin/kill/kill.c (revision 447ecad6)
1 static char *sccsid = "@(#)kill.c	4.1 (Berkeley) 10/01/80";
2 /*
3  * kill - send signal to process
4  */
5 
6 #include <signal.h>
7 
8 main(argc, argv)
9 char **argv;
10 {
11 	register signo, pid, res;
12 	int errlev;
13 	extern char *sys_errlist[];
14 	extern errno;
15 
16 	errlev = 0;
17 	if (argc <= 1) {
18 	usage:
19 		printf("usage: kill [ -signo ] pid ...\n");
20 		exit(2);
21 	}
22 	if (*argv[1] == '-') {
23 		signo = atoi(argv[1]+1);
24 		argc--;
25 		argv++;
26 	} else
27 		signo = SIGTERM;
28 	argv++;
29 	while (argc > 1) {
30 		if (**argv<'0' || **argv>'9')
31 			goto usage;
32 		res = kill(pid = atoi(*argv), signo);
33 		if (res<0) {
34 			printf("%u: %s\n", pid, sys_errlist[errno]);
35 			errlev = 1;
36 		}
37 		argc--;
38 		argv++;
39 	}
40 	return(errlev);
41 }
42