Browse Source

Add pidofproc to ${sysconfdir}/init.d/functions

Add pidofproc to ${sysconfdir}/init.d/functions, this is used for
getting the pid of the process. It uses pidof to implement currently, it
may also use the pidfile or ps to implement in the future.

(From OE-Core rev: 114a11628fb04c30cc96c9fd23db7a7fbc4fd02e)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
hfreyther/tmp
Robert Yang 11 years ago
committed by Richard Purdie
parent
commit
0424560e5f
  1. 32
      meta/recipes-core/initscripts/initscripts-1.0/functions

32
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
}

Loading…
Cancel
Save