• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Problem mit einem "killall" Script

Hallo liebe Community,

mir bereitet im Moment mein killall Shellskript ein großes Problem.

Was soll dieses Script machen?

Es soll einen laufenden Prozess killen (klingt eigentlich ganz einfach... aber jetzt kommt der Haken :D )

Was ist der Haken?

Der laufende Prozess ist mehrmals auf dem Server gestartet, nur mit unterschiedlichen Parametern.
Ein Auszug aus "ps aux":


  • 20205 0.6 1.4 R Feb17 32:46 ./coduo_lnxded +set net_port 28006 +exec 28006.cfg +map_rotate
    20207 1.3 3.5 R Feb17 72:46 ./coduo_lnxded +set net_port 28001 +exec 28001.cfg +map_rotate
    20209 9.0 2.0 R Feb17 482:43 ./coduo_lnxded +set net_port 28008 +set sv_punkbuster 0 +exec 28008.cfg +map_rotate
    20211 1.7 1.7 R Feb17 95:32 ./coduo_lnxded +set net_port 28009 +set sv_punkbuster 0 +pb_sv_disable 1 +exec 28009.cfg +map_rotate
    20213 0.6 1.2 R Feb17 36:01 ./coduo_lnxded +set net_port 28012 +exec 28012.cfg +map_rotate
    20215 0.6 1.7 S Feb17 34:00 ./coduo_lnxded +set net_port 28015 +set sv_punkbuster 0 +exec 28015.cfg +map_rotate
    20217 0.3 1.8 R Feb17 21:20 ./coduo_lnxded +set fs_game server +set net_port 28016 +exec 28016.cfg +map_rotate
    20219 2.5 1.1 S Feb17 135:27 ./coduo_lnxded +set net_port 28019 +set sv_punkbuster 0 +exec 28019.cfg +map_rotate
    20221 1.6 2.0 S Feb17 89:49 ./coduo_lnxded +set fs_game server +set net_port 28020 +exec 28020.cfg +map_rotate
    20225 0.6 1.6 S Feb17 36:49 ./coduo_lnxded +set sv_punkbuster 1 +set net_port 28022 +exec 28022.cfg +map_rotate

Also wie kill ich denn nun den Prozess coduo_lnxded mit net_port 28012 ???

Danke schonmal im Voraus

SilentHunter
 
Code:
20213 0.6 1.2 R Feb17 36:01 ./coduo_lnxded +set net_port 28012 +exec 28012.cfg +map_rotate

Code:
kill -9 20213
 
Hi,

genau da ist der Knackpunkt :D . Woher soll denn das Script wissen welche PID der Prozess hat....
Das Script muss irgendwie mithilfe von Schlüssekwörter allein herausfinden welche PID das Ding hat und automatisch killen. :???:

Wie kann ich das denn suchen weil mit "pidof" kann ich immer nur "./coduo_lnxded" suchen. Jedoch nicht z.b. +set net_port

mfg

SilentHunter
 
Code:
ps aux | grep "net_port 28012" | grep -v grep | awk '{ print $2 }'
könnte funtzen.

$2 deshalb, weil bei meiner Ausgabe von "ps aux" das 2. Feld die PID ist.
 
Oben