Well, here is a renice for SCO XENIX V/286.
It is derived from the 386 renice program written by Mike "Ford" Ditto.
I changed it in two ways:

1.  The 'xlist' procedure is performed by a separate program (uxlst)
and the resulting xlist structure array is stored in /xenix.uxlst.
Renice thus may obtain xlist information rapidly without xlist(3) each
time it is executed.  Also stored in /xenix.uxlst is a stat structure of
/xenix at the time of uxlst execution.  A unique word is stored at the
end of the file in case /xenix.uxlst's xlist structure is expanded for
other applications.  The renice program reads /xenix.uxlst by means
of facilities in libuxlst.c.  If the stat structure in /xenix.uxlst
does not match a dynamic stat of /xenix or if the unique word does
not match, the xlist information is not trusted and renice prompts
the user to run (or have run) the uxlst program to update /xenix.uxlst.

2.  I changed the usage syntax to follow the Berkeley usage:
          renice <nice> pid ...
where <nice> is in the range -20 to 19, inclusive.  If I had known
I was going to post the program, I probably would have retained
"Ford"'s syntax for conditional compilation.

NOTES:
1.  uxlst must be run by root with umask 22.  
2.  making against Makefile as root will make
    a. uxlst
    b. renice
    c. run uxlst to produce /xenix.uxlst
3.  When renice is run by root, any process may be set to any nice
value.  When renice is run by other than root, only processes owned
by the user may be affected and then only to reduce the priority of
the process.

4.  Sources are in 4-spaced tab format (please don't flame :-).

Warren Tucker N4HGF
...!gatech!kd4nc!tridom!wht

