Blame


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