Files
poky/meta/recipes-core/initscripts/initscripts-1.0/functions
Jesse Zhang 3f561e9b3e initscripts: let status return 0 when proc is running well
Ensure that the status returns 0 instead of the last shell command result,
otherwise the calling script can not properly detect the status of pid.

(From OE-Core rev: d9d4fdc769dfe6bf9838f5c5f3189a80f0e3cf90)

Signed-off-by: Jesse Zhang <sen.zhang@windriver.com>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-30 20:59:11 +01:00

1.4 KiB

--Shell-script--

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`
status=$?
case $status in
0)
	echo $pid
	return 0
	;;
127)
	echo "ERROR: command pidof not found" >&2
	exit 127
	;;
*)
	return $status
	;;
esac

}

machine_id() { # return the machine ID awk 'BEGIN { FS=": " } /Hardware/
{ gsub(" ", "_", $2); print tolower($2) } ' </proc/cpuinfo }

killproc() { # kill the named process(es) pid=pidofproc $1 && kill $pid }

status() { local pid if [ "$#" = 0 ]; then echo "Usage: status {program}" return 1 fi pid=pidofproc $1 if [ -n "$pid" ]; then echo "$1 (pid $pid) is running..." return 0 else echo "$1 is stopped" fi return 3 }