Fixed spelling mistake :-)
[ngircd-alex.git] / src / testsuite / getpid.sh
1 #!/bin/sh
2 # ngIRCd Test Suite
3 # $Id: getpid.sh,v 1.2 2002/11/10 14:28:06 alex Exp $
4
5 # wurde ein Name uebergeben?
6 [ $# -ne 1 ] && exit 1
7
8 # Flags fuer "ps" ermitteln
9 if [ `uname` = "FreeBSD" ]; then
10   PS_FLAGS="-a"; PS_PIDCOL="1"; HEAD_FLAGS="-n 1"
11 elif [ `uname` = "A/UX" ]; then
12   PS_FLAGS="-ae"; PS_PIDCOL="1"; HEAD_FLAGS="-1"
13 else
14   PS_FLAGS="-f"; PS_PIDCOL="2"; HEAD_FLAGS="-n 1"
15   ps $PS_FLAGS > /dev/null 2>&1
16   if [ $? -ne 0 ]; then PS_FLAGS="a"; PS_PIDCOL="1"; fi
17 fi
18
19 # PID ermitteln
20 ps $PS_FLAGS > procs.tmp
21 pid=$( cat procs.tmp | grep "$1" | awk "{print \$$PS_PIDCOL}" | sort -n | head $HEAD_FLAGS )
22
23 # ermittelte PID validieren
24 [ "$pid" -gt 1 ] > /dev/null 2>&1
25 [ $? -ne 0 ] && exit 1
26
27 echo $pid
28 exit 0
29
30 # -eof-