OpenSDE Framework (without history before r20070)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.1 KiB

  1. #!/bin/sh
  2. #
  3. # --- T2-COPYRIGHT-NOTE-BEGIN ---
  4. # This copyright note is auto-generated by ./scripts/Create-CopyPatch.
  5. #
  6. # T2 SDE: misc/archive/treenice.sh
  7. # Copyright (C) 2004 - 2006 The T2 SDE Project
  8. # Copyright (C) 1998 - 2003 Clifford Wolf
  9. #
  10. # More information can be found in the files COPYING and README.
  11. #
  12. # This program is free software; you can redistribute it and/or modify
  13. # it under the terms of the GNU General Public License as published by
  14. # the Free Software Foundation; version 2 of the License. A copy of the
  15. # GNU General Public License can be found in the file COPYING.
  16. # --- T2-COPYRIGHT-NOTE-END ---
  17. main() {
  18. renice $newpriority -p $1 | sed "s,^,$2,"
  19. # for y in `ps -e -o ppid,pid | grep "^ *$1 " | sed "s,^ *$1 ,,"`
  20. for y in `cut -f1,4 -d' ' /proc/*/stat | grep " $1\$" | cut -f1 -d' '`
  21. do main $y "$2 " ; done
  22. }
  23. newpriority=$1
  24. shift
  25. if [ $# = 0 ] ; then
  26. echo "Usage: $0 <new priority> <pid> [ <pid> [ ... ] ]"
  27. exit 1
  28. else
  29. for x ; do
  30. for y in $( ps -e -o pid,comm | tail -n +2 |
  31. awk "\$1 == \"$x\" || \$2 == \"$x\" { print \$1; }" )
  32. do
  33. main $y ""
  34. done
  35. done
  36. fi
  37. exit 0