]> arthur.barton.de Git - ngircd-alex.git/blob - src/testsuite/getpid.sh
- Die PID des Test-Servers wird nun mit dem Script "getpid.sh" ermittelt.
[ngircd-alex.git] / src / testsuite / getpid.sh
1 #!/bin/sh
2 # ngIRCd Test Suite
3 # $Id: getpid.sh,v 1.1 2002/09/20 14:46:55 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
11 else
12   PS_FLAGS=-f; PS_PIDCOL=2
13   ps $PS_FLAGS > /dev/null 2>&1
14   if [ $? -ne 0 ]; then PS_FLAGS=a; PS_PIDCOL=1; fi
15 fi
16
17 # PID ermitteln
18 ps $PS_FLAGS > procs.tmp
19 pid=`cat procs.tmp | grep "$1" | awk "{ print \\\$$PS_PIDCOL }" | sort -n | head -n 1`
20
21 # ermittelte PID validieren
22 [ "$pid" -gt 1 ] > /dev/null 2>&1
23 [ $? -ne 0 ] && exit 1
24
25 echo $pid
26 exit 0
27
28 # -eof-