Correct nice_service()
authorMathieu Parent <math.parent@gmail.com>
Mon, 8 Mar 2010 20:19:35 +0000 (21:19 +0100)
committerRonnie Sahlberg <ronniesahlberg@gmail.com>
Wed, 10 Mar 2010 06:39:56 +0000 (17:39 +1100)
nice takes a binary as argument and not a function or builtin command

config/functions

index b70a35290f6fbcc009bf0987552ab500f9f6e59e..6556b218ece41808dc60f6699ca1c1d944f72eec 100644 (file)
@@ -61,10 +61,19 @@ service() {
 ######################################################
 # simulate /sbin/service (niced) on platforms that don't have it
 nice_service() { 
+  _service_name="$1"
+  _op="$2"
+
   # do nothing, when no service was specified
-  [ -z "$1" ] && return
+  [ -z "$_service_name" ] && return
 
-    nice service "$@"
+  if [ -x /sbin/service ]; then
+      nice /sbin/service "$_service_name" "$_op"
+  elif [ -x /etc/init.d/$_service_name ]; then
+      nice /etc/init.d/$_service_name "$_op"
+  elif [ -x /etc/rc.d/init.d/$_service_name ]; then
+      nice /etc/rc.d/init.d/$_service_name "$_op"
+  fi
 }
 
 ######################################################