]> arthur.barton.de Git - ngircd.git/blobdiff - src/testsuite/getpid.sh
Test suite: clean up scripts
[ngircd.git] / src / testsuite / getpid.sh
index 17d717494fe6f833db31629e210e59d67737d183..55997ad825efffffb4b48db7fda577ff5e641797 100755 (executable)
@@ -1,39 +1,50 @@
 #!/bin/sh
 # ngIRCd Test Suite
-# $Id: getpid.sh,v 1.4 2003/08/22 11:31:18 alex Exp $
+
+set -u
 
 # did we get a name?
 [ $# -ne 1 ] && exit 1
 
+[ -x /bin/pidof ] && exec /bin/pidof -s "$1"
+
 # detect flags for "ps" and "head"
-if [ `uname` = "FreeBSD" ]; then
-  PS_FLAGS="-a"; PS_PIDCOL="1"; HEAD_FLAGS="-n 1"
-elif [ `uname` = "A/UX" ]; then
-  PS_FLAGS="-ae"; PS_PIDCOL="1"; HEAD_FLAGS="-1"
-elif [ `uname` = "GNU" ]; then
-  PS_FLAGS="-ax"; PS_PIDCOL="2"; HEAD_FLAGS="-n 1"
+UNAME=`uname`
+if [ $UNAME = "FreeBSD" ]; then
+       PS_FLAGS="-a"; PS_PIDCOL="1"; HEAD_FLAGS="-n 1"
+elif [ $UNAME = "A/UX" ]; then
+       PS_FLAGS="-af"; PS_PIDCOL="2"; HEAD_FLAGS="-1"
+elif [ $UNAME = "GNU" ]; then
+       PS_FLAGS="-ax"; PS_PIDCOL="2"; HEAD_FLAGS="-n 1"
+elif [ $UNAME = "Haiku" ]; then
+       PS_FLAGS="-o Id -o Team"; PS_PIDCOL="1"; HEAD_FLAGS="-1"
+elif [ $UNAME = "Linux" ]; then
+       PS_FLAGS="ax"; PS_PIDCOL="1"; HEAD_FLAGS="-n 1"
+elif [ $UNAME = "SunOS" ]; then
+       PS_FLAGS="-af"; PS_PIDCOL=2; HEAD_FLAGS="-n 1"
 else
-  PS_FLAGS="-f"; PS_PIDCOL="2"; HEAD_FLAGS="-n 1"
-  ps $PS_FLAGS > /dev/null 2>&1
-  if [ $? -ne 0 ]; then PS_FLAGS="a"; PS_PIDCOL="1"; fi
+       PS_FLAGS="-af"; PS_PIDCOL="2"; HEAD_FLAGS="-n 1"
+       ps $PS_FLAGS >/dev/null 2>&1
+       if [ $? -ne 0 ]; then PS_FLAGS="a"; PS_PIDCOL="1"; fi
 fi
 
 # debug output
+#echo "$0: UNAME=$UNAME"
 #echo "$0: PS_FLAGS=$PS_FLAGS"
 #echo "$0: PS_PIDCOL=$PS_PIDCOL"
 #echo "$0: HEAD_FLAGS=$HEAD_FLAGS"
 
 # search PID
-ps $PS_FLAGS > procs.tmp
-cat procs.tmp | grep -v "$0" | grep "$1" | awk "{print \$$PS_PIDCOL}" | sort -n > pids.tmp
+ps $PS_FLAGS >procs.tmp
+cat procs.tmp | \
+       grep -v "$0" | grep "$1" | \
+       awk "{print \$$PS_PIDCOL}" | \
+       sort -n >pids.tmp
 pid=`head $HEAD_FLAGS pids.tmp`
 rm -rf procs.tmp pids.tmp
 
 # validate PID
-[ "$pid" -gt 1 ] > /dev/null 2>&1
-[ $? -ne 0 ] && exit 1
+[ "$pid" -gt 1 ] >/dev/null 2>&1 || exit 1
 
 echo $pid
 exit 0
-
-# -eof-