in init-functions start_daemon pidfile is not validated before removing...
code as follows........
start_daemon()
{
local force=""
local nice="0"
local pidfile=""
local pidlist=""
local retval=""
# Process arguments
while true
do
case "${1}" in
-f)
force="1"
shift 1
;;
-n)
nice="${2}"
shift 2
;;
-p)
pidfile="${2}"
shift 2
;;
-*)
return 2
;;
*)
program="${1}"
break
;;
esac
done
# Check for a valid program
if [ ! -e "${program}" ]; then return 5; fi
# Execute
if [ -z "${force}" ]; then
if [ -z "${pidfile}" ]; then
# Determine the pid by discovery
pidlist=`pidofproc "${1}"`
retval="${?}"
^^^^^^^^^^^^^^^^^^
needs to set pidfile here otherwise rm -f "${pidfile}" fails
below
else
# The PID file contains the needed PIDs
# Note that by LSB requirement, the path must be given to
pidofproc,
# however, it is not used by the current implementation or
standard.
pidlist=`pidofproc -p "${pidfile}" "${1}"`
retval="${?}"
fi
# Return a value ONLY
# It is the init script's (or distribution's functions)
responsibilty
# to log messages!
case "${retval}" in
0)
# Program is already running correctly, this is a
# successful start.
return 0
;;
1)
# Program is not running, but an invalid pid file exists
# remove the pid file and continue
rm -f "${pidfile}"
^^^^^^^^^^^^^^^
not valid or vaildated
--
http://lists.linuxfromscratch.org/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page
Do not top post on this list.
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?
http://en.wikipedia.org/wiki/Posting_style