3 # $Id: getpid.sh,v 1.3 2003/04/22 19:27:50 alex Exp $
5 # wurde ein Name uebergeben?
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"
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
20 ps $PS_FLAGS > procs.tmp
21 cat procs.tmp | grep "$1" | awk "{print \$$PS_PIDCOL}" | sort -n > pids.tmp
22 pid=`head $HEAD_FLAGS pids.tmp`
23 rm -rf procs.tmp pids.tmp
25 # ermittelte PID validieren
26 [ "$pid" -gt 1 ] > /dev/null 2>&1
27 [ $? -ne 0 ] && exit 1