Guest User

Untitled

a guest
Dec 19th, 2017
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.75 KB | None | 0 0
  1. #!/bin/sh
  2. #This dumb thing uses far too many Linuxisms, but fuck it.
  3. #It's also done in bash compliant math, so no decimals, yet.
  4. #Format: <script> <programname> <maxloadnum> <sleepinsecs>
  5. PATH=/bin:/sbin:/usr/bin:/usr/sbin
  6. if [ $1"x" == "x" ]; then
  7.   PROGNAME='dnetc'
  8. else
  9.   PROGNAME='$1'
  10. fi
  11. if [ $2"x" == "x" ]; then
  12.   MAXLOAD=`grep processor /proc/cpuinfo | wc -l`
  13. else
  14.   MAXLOAD="$2"
  15. fi
  16. if [ $3"x" == "x" ]; then
  17.   SLEEP=1
  18. else
  19.   SLEEP="$3"
  20. fi
  21. while true; do
  22.   MYPIDS=`pidof $PROGNAME`
  23.   CURLOAD=`awk '{printf "%1d", $1}' /proc/loadavg`
  24.   if [ $MAXLOAD -gt $CURLOAD ]; then
  25.     for PIDS in $MYPIDS; do
  26.      kill -s STOP $PIDS
  27.     done
  28.   else
  29.     for PIDS in $MYPIDS; do
  30.      kill -s CONT $PIDS
  31.     done
  32.   fi
  33. sleep $SLEEP
  34. done
Add Comment
Please, Sign In to add comment