Blob


1 #!/bin/sh
2 # ngIRCd Test Suite
3 # $Id: getpid.sh,v 1.1 2002/09/20 14:46:55 alex Exp $
5 # wurde ein Name uebergeben?
6 [ $# -ne 1 ] && exit 1
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
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`
21 # ermittelte PID validieren
22 [ "$pid" -gt 1 ] > /dev/null 2>&1
23 [ $? -ne 0 ] && exit 1
25 echo $pid
26 exit 0
28 # -eof-