From: Darren Hart <dvhart@linux.intel.com>
To: Robert Yang <liezhi.yang@windriver.com>
Cc: poky@yoctoproject.org
Subject: Re: V2 [PATCH 2/3] Add pidofproc to ${sysconfdir}/init.d/functions
Date: Mon, 16 May 2011 09:57:07 -0700 [thread overview]
Message-ID: <4DD15763.8000200@linux.intel.com> (raw)
In-Reply-To: <e3e569916fb79b1fa249c457846852873e14fc23.1305558153.git.liezhi.yang@windriver.com>
On 05/16/2011 08:19 AM, Robert Yang wrote:
> 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.
>
> Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
> ---
> .../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 689fd32..6a51b3b 100644
> --- a/meta/recipes-core/initscripts/initscripts-1.0/functions
> +++ b/meta/recipes-core/initscripts/initscripts-1.0/functions
> @@ -4,11 +4,39 @@
> # 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".
Please document the variables to newly created functions, for shell
functions, something like:
# pidofproc - print the pid of a process
# $1: the name of the process
> +pidofproc () {
> + local pid status
This patch uses 8 spaces to indent while the existing file uses 4. The
state of shell script whitespace in the repository is a bit of a
disaster. We can't really go through it all and just correct it for the
sake of consistent whitespace, but when modifying shell scripts, please
do the following:
1) Cleanup the whitespace in the affected file
Do this before making functional changes to it and submit the
cleanup as a separate patch.
2) Indent with tabs
3) Do not indent the cases in a case block
> +
> + status=0
> + # pidof output null when no program is running, so no "2>/dev/null".
> + pid=`pidof $1` || status=$?
> + case $status in
The following is just my opinion, you may ignore it if you disagree:
I find the "do_this || die" syntax to be awkward, and have seen it lead
to non-intuitive errors. For testing the success of a command, consider
removing the status variable and using:
pid=$(pidof $1)
case $? 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=`/bin/pidof $1`
> - [ "$pid" != "" ] && kill $pid
> + pid=`pidofproc $1` && kill $pid
> }
--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
next prev parent reply other threads:[~2011-05-16 16:56 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-16 15:18 V2 [PATCH 0/3] Add meta-skeleton and a skeleton for init scripts Robert Yang
2011-05-16 15:19 ` V2 [PATCH 1/3] Add the layer meta-skeleton Robert Yang
2011-05-16 15:19 ` V2 [PATCH 2/3] Add pidofproc to ${sysconfdir}/init.d/functions Robert Yang
2011-05-16 16:57 ` Darren Hart [this message]
2011-05-16 15:19 ` V2 [PATCH 3/3] Add a skeleton for init scripts Robert Yang
2011-05-16 17:44 ` Darren Hart
2011-05-16 17:46 ` V2 [PATCH 0/3] Add meta-skeleton and " Darren Hart
2011-05-17 2:12 ` Robert Yang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4DD15763.8000200@linux.intel.com \
--to=dvhart@linux.intel.com \
--cc=liezhi.yang@windriver.com \
--cc=poky@yoctoproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.