diff options
| -rw-r--r-- | meta/recipes-core/initscripts/initscripts-1.0/functions | 32 | 
1 files changed, 30 insertions, 2 deletions
| diff --git a/meta/recipes-core/initscripts/initscripts-1.0/functions b/meta/recipes-core/initscripts/initscripts-1.0/functions index ac99e112c7..c1eac3efda 100644 --- a/meta/recipes-core/initscripts/initscripts-1.0/functions +++ b/meta/recipes-core/initscripts/initscripts-1.0/functions @@ -3,6 +3,35 @@  # functions     This file contains functions to be used by most or all  #               shell scripts in the /etc/init.d directory.  # +# NOTE: The pidofproc () doesn't support the process which is a script unless +#       the pidof supports "-x" option. If you want to use it for such a +#       process: +#       1) If there is no "pidof -x", replace the "pidof $1" with another +#          command like(for core-image-minimal): +#            ps | awk '/'"$1"'/ {print $1}' +#       Or +#       2) If there is "pidof -x", replace "pidof" with "pidof -x". +# +# pidofproc - print the pid of a process +# $1: the name of the process +pidofproc () { + +	# pidof output null when no program is running, so no "2>/dev/null". +	pid=`pidof $1` +	case $? in +	0) +		echo $pid +		return 0 +		;; +	127) +		echo "ERROR: command pidof not found" >&2 +		exit 127 +		;; +	*) +		return $? +		;; +	esac +}  machine_id() { # return the machine ID  	awk 'BEGIN { FS=": " } /Hardware/ \ @@ -10,6 +39,5 @@ machine_id() { # return the machine ID  }  killproc() { # kill the named process(es) -	pid=`/bin/pidof $1` -	[ "$pid" != "" ] && kill $pid +	pid=`pidofproc $1` && kill $pid  } | 
