#!/bin/sh # ngIRCd Test Suite # $Id: getpid.sh,v 1.2 2002/11/10 14:28:06 alex Exp $ # wurde ein Name uebergeben? [ $# -ne 1 ] && exit 1 # Flags fuer "ps" ermitteln if [ `uname` = "FreeBSD" ]; then PS_FLAGS="-a"; PS_PIDCOL="1"; HEAD_FLAGS="-n 1" elif [ `uname` = "A/UX" ]; then PS_FLAGS="-ae"; PS_PIDCOL="1"; HEAD_FLAGS="-1" else PS_FLAGS="-f"; PS_PIDCOL="2"; HEAD_FLAGS="-n 1" ps $PS_FLAGS > /dev/null 2>&1 if [ $? -ne 0 ]; then PS_FLAGS="a"; PS_PIDCOL="1"; fi fi # PID ermitteln ps $PS_FLAGS > procs.tmp pid=$( cat procs.tmp | grep "$1" | awk "{print \$$PS_PIDCOL}" | sort -n | head $HEAD_FLAGS ) # ermittelte PID validieren [ "$pid" -gt 1 ] > /dev/null 2>&1 [ $? -ne 0 ] && exit 1 echo $pid exit 0 # -eof-