Prozesse in einer shell killen...wie geht das?

Hallo!
Ich möchte ein shell schreiben, das mir bestimmte Prozesse killt, wenn ich es aufrufe...
es handelt sich hierbei um 3 prozesse, Eltern und 2 Kinder, deren PID-Nummer mir nicht bekannt ist, also kann ich nicht ein einfaches kill schicken, wo ich ja die PID-nummer angeben muss,oder?..Oder gibt es auch eine Identifikation per Name des Prozesses? Das wär nämlich besser, da die Prozesse ja verwandt sind und alle gleich heißen...wie mach ich das also am besten?

lg Günther

attachment.htm (661 Bytes)

Hallo Guenther,

sieh dir die manpages zu killall und pidof an.

HTH,
Thomas

Wenn du die Name der Prozess kennst, vielleicht etwas wie
kill `/sbin/pidof <name>`
kann dir helfen. Muss man aber die genaue Name der Prozess geben und
das kann problematisch werden.... besonders im Fall viele java bzw.
/bin/sh Prozesse laeufend sind.

Hoff das es nuetzlich ist :slight_smile:
Stefano

Ich habe mir einmal so etwas geschrieben:

#!/bin/sh

if (ps wax | grep "$MY_PATH" | grep myProg)
then
myProgPID=`ps wax | grep "$MY_PATH" | grep myProg | awk '{ print $1 }'`
kill -TERM $myProgPID
fi

Wobei MY_PATH eine Enviromentvariable ist, die den Pfad angibt,
wo myProg liegt.

Das awk filtert die PID Nummer heraus, das grep kann man noch beliebig
erweitern/verfeinern.

Gruss
Andrae

attachment.htm (3.1 KB)

Hallo.

Hast du mal den BEfehl killall angeschaut? Der muesste eigentlich einen
Prozess nach Namen killen.

Gruesse

Christian

Niederbacher Andrä wrote:

Ich habe mir einmal so etwas geschrieben:

#!/bin/sh

if (ps wax | grep "$MY_PATH" | grep myProg)
then
myProgPID=`ps wax | grep "$MY_PATH" | grep myProg | awk '{ print $1 }'`
kill -TERM $myProgPID
fi

Wobei MY_PATH eine Enviromentvariable ist, die den Pfad angibt,
wo myProg liegt.

Das awk filtert die PID Nummer heraus, das grep kann man noch beliebig
erweitern/verfeinern.

Gruss
Andrae

  Von: lugbz-list-bounces(a)lugbz.org

[mailto:lugbz-list-bounces(a)lugbz.org]Im

Auftrag von Günther Obrist
  Gesendet: Donnerstag, 1. Dezember 2005 11:11
  An: lugbz-list(a)lugbz.org
  Betreff: [Lugbz-list] Prozesse in einer shell killen...wie geht das?

   Hallo!
  Ich möchte ein shell schreiben, das mir bestimmte Prozesse killt,

wenn ich

es aufrufe...
  es handelt sich hierbei um 3 prozesse, Eltern und 2 Kinder, deren
PID-Nummer mir nicht bekannt ist, also kann ich nicht ein einfaches kill
schicken, wo ich ja die PID-nummer angeben muss,oder?..Oder gibt es auch
eine Identifikation per Name des Prozesses? Das wär nämlich besser, da die
Prozesse ja verwandt sind und alle gleich heißen...wie mach ich das

also am