HADOOP-14855. Hadoop scripts may errantly believe a daemon is still running, preventing it from starting. Contributed by Robert Kanter.

This commit is contained in:
Miklos Szegedi 2018-04-04 15:35:58 -07:00
parent 345e7624d5
commit e52539b46f
1 changed files with 7 additions and 2 deletions

View File

@ -1725,11 +1725,16 @@ function hadoop_status_daemon
shift shift
local pid local pid
local pspid
if [[ -f "${pidfile}" ]]; then if [[ -f "${pidfile}" ]]; then
pid=$(cat "${pidfile}") pid=$(cat "${pidfile}")
if ps -p "${pid}" > /dev/null 2>&1; then if pspid=$(ps -o args= -p"${pid}" 2>/dev/null); then
return 0 # this is to check that the running process we found is actually the same
# daemon that we're interested in
if [[ ${pspid} =~ -Dproc_${daemonname} ]]; then
return 0
fi
fi fi
return 1 return 1
fi fi