diff --git a/usr.bin/renice/renice.8 b/usr.bin/renice/renice.8 index 56d431ef91da..fc349d1c9e36 100644 --- a/usr.bin/renice/renice.8 +++ b/usr.bin/renice/renice.8 @@ -63,7 +63,7 @@ scheduling priority of one or more running processes. The following .Ar who parameters are interpreted as process ID's, process group -ID's, or user names. +ID's, user ID's or user names. .Nm Renice Ns 'ing a process group causes all processes in the process group to have their scheduling priority altered. @@ -87,7 +87,7 @@ the current priority of each process. .It Fl u Force the .Ar who -parameters to be interpreted as user names. +parameters to be interpreted as user names or user ID's. .It Fl p Resets the .Ar who diff --git a/usr.bin/renice/renice.c b/usr.bin/renice/renice.c index effa8cf507f7..71c7087faa34 100644 --- a/usr.bin/renice/renice.c +++ b/usr.bin/renice/renice.c @@ -102,12 +102,14 @@ main(int argc, char *argv[]) continue; } if (which == PRIO_USER) { - pwd = getpwnam(*argv); - if (pwd == NULL) { - warnx("%s: unknown user", *argv); + if ((pwd = getpwnam(*argv)) != NULL) + who = pwd->pw_uid; + else if (getnum("uid", *argv, &who)) + continue; + else if (who < 0) { + warnx("%s: bad value", *argv); continue; } - who = pwd->pw_uid; } else { if (getnum("pid", *argv, &who)) continue;