summaryrefslogtreecommitdiffstats
path: root/misc-utils/kill.c
diff options
context:
space:
mode:
Diffstat (limited to 'misc-utils/kill.c')
-rw-r--r--misc-utils/kill.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/misc-utils/kill.c b/misc-utils/kill.c
index f89ff67c1..85911211a 100644
--- a/misc-utils/kill.c
+++ b/misc-utils/kill.c
@@ -59,7 +59,7 @@ char *sys_signame[NSIG] = {
#endif
int main (int argc, char *argv[]);
-char *mybasename(char *pathname);
+extern char *mybasename(char *);
int signame_to_signum (char *sig);
int arg_to_signum (char *arg);
void nosig (char *name);
@@ -144,8 +144,12 @@ int main (int argc, char *argv[])
continue;
}
/* `arg' begins with a dash but is not a known option.
- so it's probably something like -HUP.
- try to deal with it. */
+ 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).
+ If a signal has been parsed, assume it's a pid, break */
+ if (do_kill)
+ break;
arg++;
if ((numsig = arg_to_signum (arg)) < 0) {
return usage (1);
@@ -186,13 +190,6 @@ int main (int argc, char *argv[])
return (errors);
}
-char *mybasename (char *path)
-{
- char *cp;
-
- cp = strrchr (path, '/');
- return (cp ? cp + 1 : path);
-}
int signame_to_signum (char *sig)
{