SCCS-vsn: bin/kill/kill.c 5.7
#endif /* not lint */
#ifndef lint
#endif /* not lint */
#ifndef lint
-static char sccsid[] = "@(#)kill.c 5.6 (Berkeley) %G%";
+static char sccsid[] = "@(#)kill.c 5.7 (Berkeley) %G%";
+#include <ctype.h>
+#include <err.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void nosig __P((char *));
void printsig __P((FILE *));
void usage __P((void));
void nosig __P((char *));
void printsig __P((FILE *));
void usage __P((void));
main(argc, argv)
int argc;
main(argc, argv)
int argc;
{
register int errors, numsig, pid;
register char *const *p;
{
register int errors, numsig, pid;
register char *const *p;
nosig(*argv);
} else if (isdigit(**argv)) {
numsig = strtol(*argv, &ep, 10);
nosig(*argv);
} else if (isdigit(**argv)) {
numsig = strtol(*argv, &ep, 10);
- if (!*argv || *ep) {
- (void)fprintf(stderr,
- "kill: illegal signal number %s\n", *argv);
- exit(1);
- }
+ if (!*argv || *ep)
+ errx(1, "illegal signal number: %s", *argv);
if (numsig <= 0 || numsig > NSIG)
nosig(*argv);
} else
if (numsig <= 0 || numsig > NSIG)
nosig(*argv);
} else
for (errors = 0; *argv; ++argv) {
pid = strtol(*argv, &ep, 10);
if (!*argv || *ep) {
for (errors = 0; *argv; ++argv) {
pid = strtol(*argv, &ep, 10);
if (!*argv || *ep) {
- (void)fprintf(stderr,
- "kill: illegal process id %s\n", *argv);
- continue;
- }
- if (kill(pid, numsig) == -1) {
- (void)fprintf(stderr,
- "kill: %s: %s\n", *argv, strerror(errno));
+ warnx("illegal process id: %s", *argv);
+ errors = 1;
+ } else if (kill(pid, numsig) == -1) {
+ warn("%s", *argv);