diff options
author | Bill Nottingham <notting@redhat.com> | 2001-01-30 21:24:34 +0000 |
---|---|---|
committer | Bill Nottingham <notting@redhat.com> | 2001-01-30 21:24:34 +0000 |
commit | 178a30869d447ebc8a4d9e243813f5429dc9a950 (patch) | |
tree | 48cdef859b021f9f25ed80b8b8e9622992908716 /rc.d | |
parent | 513953f9cca632e75f9e8f5b99b77a4e0758b411 (diff) | |
download | initscripts-178a30869d447ebc8a4d9e243813f5429dc9a950.tar initscripts-178a30869d447ebc8a4d9e243813f5429dc9a950.tar.gz initscripts-178a30869d447ebc8a4d9e243813f5429dc9a950.tar.bz2 initscripts-178a30869d447ebc8a4d9e243813f5429dc9a950.tar.xz initscripts-178a30869d447ebc8a4d9e243813f5429dc9a950.zip |
for daemon(), look only at the pid file to see if it's running (#17244, others)
Diffstat (limited to 'rc.d')
-rwxr-xr-x | rc.d/init.d/functions | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/rc.d/init.d/functions b/rc.d/init.d/functions index 86d1c3c0..24e99948 100755 --- a/rc.d/init.d/functions +++ b/rc.d/init.d/functions @@ -101,8 +101,8 @@ daemon() { # Save basename. [ -z $gotbase ] && base=`basename $1` - # See if it's already running. - pidlist=`pidofproc $1` + # See if it's already running. Look *only* at the pid file. + pidlist=`pidfileofproc $1` pid= for apid in $pidlist ; do @@ -197,6 +197,26 @@ killproc() { return $RC } +# A function to find the pid of a program. Looks *only* at the pidfile +pidfileofproc() { + base=`basename $1` + + # Test syntax. + if [ $# = 0 ] ; then + echo $"Usage: pidofproc {program}" + return 1 + fi + + # First try "/var/run/*.pid" files + if [ -f /var/run/${base}.pid ] ; then + pid=`cat /var/run/${base}.pid | { read foo ; echo $foo ; }` + if [ "$pid" != "" ] ; then + echo $pid + return 0 + fi + fi +} + # A function to find the pid of a program. pidofproc() { base=`basename $1` |