/sbin/service looks for command line switches even after service name. So, "service testd -huh" is processed like "service -huh testd", not like "/etc/init.d/testd -huh". My little patch fixes this. --- service.orig 2004-01-25 20:44:48 +0300 +++ service 2004-08-27 03:06:05 +0400 @@ -50,7 +50,9 @@ exit 0 ;; -*) - usage 1 + test -z "$SERVICE" && usage 1 + OPTIONS="$OPTIONS $1" + shift ;; *) if [ $# -eq 2 -a "$2" = "--full-restart" ]; then Steps to Reproduce: /sbin/service anything -anything Actual Results: /sbin/service displays usage and fails. Expected Results: Tail of command line should be passed directly to called service.
First, startup scripts usually have no option parser, so your script is probably first one. Second, your patch doesn't make possible to pass .e.g --help option to startup script.
Created attachment 767 [details] Proposed change I'm going to apply this change to /sbin/service. Objections?
Applied in 0.5.7-alt1