On 02/22/2016 10:19 AM, Ranjan Maitra wrote:
Hi,
I am running a fully updated F23 box but this question does not have much to do
with Fedora itself, hence the designator and the disclaimer.
I am wanting to run a script which will look at all the jobs that are running
and renice all of them which have been on for more than five minutes. (Then I
can run the script as a cron job as root and be done with automating the
process.)
Are there any suggestions as to how to go about this task efficiently?
Actually, before I reinvent the wheel, are there any standard options that
already exist and which would be more suitable for me than just to do
everything from scratch.
Use the "-o pid,etimes=" options of ps to get the elapsed time of
tasks in seconds. To get a full list, for example, as root:
ps ax -o pid,uid,etimes=
...
21412 0 833
21499 0 631433
21541 0 773
21597 1000 769
21604 1000 769
21605 1000 769
21608 1000 769
21610 1000 769
21613 1000 769
21681 1000 769
21686 1000 769
21697 1000 769
21751 1000 742
...
(run it as root so you can see ALL of the processes)
As you can see, you get three columns: the first is the PID of the
task, the second is the EUID of the user running it, and the third is
the elapsed time.
So, pull that data into a shell array, look for stuff that has the
second column equal to the user ID you're interested in and the third
column >= 300 seconds and renice the PID in the first column. Note that
I'd avoid renicing any tasks with UIDs < your lowest normal user ID
(typically 100) to keep from starving system tasks.
Hope that helps!
----------------------------------------------------------------------
- Rick Stevens, Systems Engineer, AllDigital ri...@alldigital.com -
- AIM/Skype: therps2 ICQ: 226437340 Yahoo: origrps2 -
- -
- "And on the seventh day, He exited from append mode." -
----------------------------------------------------------------------
--
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Have a question? Ask away: http://ask.fedoraproject.org