diff options
Diffstat (limited to 'misc-utils/kill.c')
-rw-r--r-- | misc-utils/kill.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/misc-utils/kill.c b/misc-utils/kill.c index ea4e4682d..65100236c 100644 --- a/misc-utils/kill.c +++ b/misc-utils/kill.c @@ -35,7 +35,7 @@ * modifications (c) salvatore valente <svalente@mit.edu> * may be used / modified / distributed under the same terms as the original. * - * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org> + * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL> * - added Native Language Support * * 1999-11-13 aeb Accept signal numers 128+s. @@ -149,12 +149,12 @@ int kill_verbose (char *procname, int pid, int sig); extern int *get_pids (char *, int); -char *whoami; +static char *progname; int main (int argc, char *argv[]) { int errors, numsig, pid; - char *ep, *arg, *progname, *p; + char *ep, *arg, *p; int do_pid, do_kill, check_all; int *pids, *ip; @@ -166,9 +166,8 @@ int main (int argc, char *argv[]) bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); - whoami = mybasename (*argv); numsig = SIGTERM; - do_pid = (! strcmp (whoami, "pid")); + do_pid = (! strcmp (progname, "pid")); /* Yecch */ do_kill = 0; check_all = 0; @@ -184,9 +183,6 @@ int main (int argc, char *argv[]) argc--, argv++; break; } - if (! strcmp (arg, "-u")) { - return usage (0); - } if (! strcmp (arg, "-v") || ! strcmp (arg, "-V") || ! strcmp (arg, "--version")) { printf(_("%s from %s\n"), progname, util_linux_version); @@ -207,7 +203,7 @@ int main (int argc, char *argv[]) /* argc == 2, accept "kill -l $?" */ arg = argv[1]; if ((numsig = arg_to_signum (arg, 1)) < 0) { - fprintf (stderr, _("%s: unknown signal %s\n"), whoami, arg); + fprintf (stderr, _("%s: unknown signal %s\n"), progname, arg); return 1; } printsig (numsig); @@ -238,6 +234,7 @@ int main (int argc, char *argv[]) so it's probably something like -HUP, or -1/-n try to deal with it. -n could be signal n, or pid -n (i.e. process group n). + In case of doubt POSIX tells us to assume a signal. If a signal has been parsed, assume it's a pid, break */ if (do_kill) break; @@ -270,7 +267,7 @@ int main (int argc, char *argv[]) if (! pids) { errors++; fprintf (stderr, _("%s: can't find process \"%s\"\n"), - whoami, arg); + progname, arg); continue; } for (ip = pids; *ip >= 0; ip++) @@ -313,7 +310,7 @@ int arg_to_signum (char *arg, int maskbit) void nosig (char *name) { - fprintf (stderr, _("%s: unknown signal %s; valid signals:\n"), whoami, name); + fprintf (stderr, _("%s: unknown signal %s; valid signals:\n"), progname, name); printsignals (stderr); } @@ -353,8 +350,8 @@ int usage (int status) FILE *fp; fp = (status == 0 ? stdout : stderr); - fprintf (fp, _("usage: %s [ -s signal | -p ] [ -a ] pid ...\n"), whoami); - fprintf (fp, _(" %s -l [ signal ]\n"), whoami); + fprintf (fp, _("usage: %s [ -s signal | -p ] [ -a ] pid ...\n"), progname); + fprintf (fp, _(" %s -l [ signal ]\n"), progname); return status; } @@ -365,7 +362,7 @@ int kill_verbose (char *procname, int pid, int sig) return 0; } if (kill (pid, sig) < 0) { - fprintf (stderr, "%s ", whoami); + fprintf (stderr, "%s ", progname); perror (procname); return 1; } |