Blame


1 efedfe12 2002-09-20 alex #!/bin/sh
2 efedfe12 2002-09-20 alex # ngIRCd Test Suite
3 797f9170 2002-11-10 alex # $Id: getpid.sh,v 1.2 2002/11/10 14:28:06 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 797f9170 2002-11-10 alex PS_FLAGS="-a"; PS_PIDCOL="1"; HEAD_FLAGS="-n 1"
11 797f9170 2002-11-10 alex elif [ `uname` = "A/UX" ]; then
12 797f9170 2002-11-10 alex PS_FLAGS="-ae"; PS_PIDCOL="1"; HEAD_FLAGS="-1"
13 efedfe12 2002-09-20 alex else
14 797f9170 2002-11-10 alex PS_FLAGS="-f"; PS_PIDCOL="2"; HEAD_FLAGS="-n 1"
15 efedfe12 2002-09-20 alex ps $PS_FLAGS > /dev/null 2>&1
16 797f9170 2002-11-10 alex if [ $? -ne 0 ]; then PS_FLAGS="a"; PS_PIDCOL="1"; fi
17 efedfe12 2002-09-20 alex fi
18 efedfe12 2002-09-20 alex
19 efedfe12 2002-09-20 alex # PID ermitteln
20 efedfe12 2002-09-20 alex ps $PS_FLAGS > procs.tmp
21 797f9170 2002-11-10 alex pid=$( cat procs.tmp | grep "$1" | awk "{print \$$PS_PIDCOL}" | sort -n | head $HEAD_FLAGS )
22 efedfe12 2002-09-20 alex
23 efedfe12 2002-09-20 alex # ermittelte PID validieren
24 efedfe12 2002-09-20 alex [ "$pid" -gt 1 ] > /dev/null 2>&1
25 efedfe12 2002-09-20 alex [ $? -ne 0 ] && exit 1
26 efedfe12 2002-09-20 alex
27 efedfe12 2002-09-20 alex echo $pid
28 efedfe12 2002-09-20 alex exit 0
29 efedfe12 2002-09-20 alex
30 efedfe12 2002-09-20 alex # -eof-