Hilfe zum Thema kill prozesse

Dieses Thema im Forum "MacOS X / Darwin" wurde erstellt von Michi0209, 09.08.2007.

  1. #1 Michi0209, 09.08.2007
    Michi0209

    Michi0209 Mitglied

    Dabei seit:
    29.06.2006
    Beiträge:
    46
    Zustimmungen:
    0
    Hallo zusammen,

    ich habe folgendes Problem. Damit mein Dongel unter Parallels läuft habe ich herausgefunden, das ich den entsprechenden Prozess "aksusbd" beenden muß. Nun wollte ich ein kleines Script schreiben, das mir diese Aufgabe abnimmt!

    Hier als mein Ansatz:
    Code:
    #!/bin/sh
    export LC_ALL=de_DE.ISO8859-1
    
    MYID=$(ps ax|grep -m1 "aksusbd"|cut -d' ' -f2); 
    
    echo "ID $MYID aktuell";
    
    if [ -z $MYID ]
    then
    echo "Programm läuft nicht wird gestartet";
    	/usr/libexec/aksusbd
    else
    	echo "Programm läuft mit ID $MYID und wird gekillt";
    	kill $MYID;
    	unset $MYID;
    fi
    
    Das killen des Prozesses scheint wohl ansich zu funktionieren, jedoch erhalte ich trotzdem folgende Fehlermeldung:

    Code:
    ID 2445 aktuell
    Programm l?uft mit ID 2445 und wird gekillt
    /Users/Michael/ShellScript/beenden: line 15: unset: `2445': not a valid identifier
    und wenn ich das script nochmal aufrufe, um den prozess wieder zu starten, dann kommt das hier:


    Code:
    ID 2458 aktuell
    Programm l?uft mit ID 2458 und wird gekillt
    /Users/Michael/ShellScript/beenden: line 14: kill: (2458) - No such process
    /Users/Michael/ShellScript/beenden: line 15: unset: `2458': not a valid identifier
    Er behauptet das der Prozess immernoch am laufen ist, obwohl es nicht mehr in der Aktivitäts-Anzeige gelistet wird!!

    Jemand eine Idee, was ich da machen kann???


    Danke für jede Hilfe!


    Michael
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 caba_, 09.08.2007
    Zuletzt bearbeitet: 09.08.2007
    caba_

    caba_ (caba{_,}|manuw)

    Dabei seit:
    07.08.2007
    Beiträge:
    334
    Zustimmungen:
    0
    Klar, du speicherst ja die Prozess-ID unter $MYID.
    ein unset $MYID macht daraus das gleiche wie
    Code:
    unset 2445
    und 2445 gibts logischerweisse nicht.... Was du willst ist ein
    Code:
    unset MYID
    Code:
    #!/bin/sh
    export LC_ALL=de_DE.ISO8859-1
    
    MYID=$(ps ax|grep -m1 "aksusbd"|cut -d' ' -f2); 
    
    echo "ID ${MYID} aktuell";
    
    if [ -z ${MYID} ]
    then
    echo "Programm läuft nicht wird gestartet";
    	/usr/libexec/aksusbd
    else
    	echo "Programm läuft mit ID $MYID und wird gekillt";
    	kill ${MYID};
    	unset MYID;
    fi
    
     
  4. #3 Michi0209, 10.08.2007
    Michi0209

    Michi0209 Mitglied

    Dabei seit:
    29.06.2006
    Beiträge:
    46
    Zustimmungen:
    0
    Hallo, ja danke für die Antowort.. allerdings noch eine kleinigkeit:


    durch:

    Code:
    MYID=$(ps ax|grep -m1 "aksusbd"|cut -d' ' -f2); 
    sollte ich doch eigentlich die P ID erhalten. Allerdings ist die Variable wenn ich sie mit

    Code:
    echo "ID ${MYID} aktuell";
    ausgebe immer leer! Und somit versucht das script den prozess immer wieder aufzurufen. ob wohl dieser schon gestartet ist!

    was ich nun ausprobiert habe:


    Code:
    #!/bin/sh
    export LC_ALL=de_DE.ISO8859-1
    
    clear;
    
    org=$(ps ax|grep "aksusbd");
    echo "Orginal: ${org}";
    
    ohne=$(ps ax|grep "aksusbd"|head -1);
    echo "Ohne Cut: ${ohne}"; 
    
    neu=$(ps ax|grep -m1 "aksusbd"|head -1|cut -d' ' -f2);
    echo "Mit Cut: ${neu}";
    
    und das hier ist das ergebniss:

    Code:
    Orginal:   936  ??  S      0:00.02 /usr/libexec/aksusbd
     1613  p1  R+     0:00.00 grep aksusbd
    Ohne Cut:   936  ??  S      0:00.02 /usr/libexec/aksusbd
    Mit Cut: 
    Kann mir jemand sagen, warum die Variable $neu leer ist????
     
  5. #4 supersucker, 10.08.2007
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Du kannst das Ganze noch etwas einfacher gestalten und gleichzeitig noch auf Zombie-Prozesse prüfen:

    Code:
            tPIDsStr=`ps -C aksusbd | awk '{print $1}'`
    	# prints out for example:
    	#PID
    	#7488
    	#7862
            tPIDsArr=($tPIDsStr)
            # start at index 1 to omit "PID"
            for x in $(seq 1 $((${#tPIDsArr[@]} - 1)))
                    do
                    kill -9 ${tPIDsArr[$x]}
                    done
     
  6. #5 Michi0209, 10.08.2007
    Michi0209

    Michi0209 Mitglied

    Dabei seit:
    29.06.2006
    Beiträge:
    46
    Zustimmungen:
    0
    hm, habe ich gerade in script kopiert und erhalt einen Fehler:

    line 1: seq: command not found.


    Außerdem möchte ich das schon lieber auf die "andere" art machen, da ich somit auch gleich den fall abdecke, daß wenn der Prozess nicht aktiv ist, ich diesen starte.....
     
  7. #6 supersucker, 10.08.2007
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Deine Bash kennt kein "seq"?

    Sehrrrrr merkwürdig.
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. #7 Michi0209, 10.08.2007
    Michi0209

    Michi0209 Mitglied

    Dabei seit:
    29.06.2006
    Beiträge:
    46
    Zustimmungen:
    0
    schon, oder??

    keine ahnung wieso??

    mein system: iMac 10.4.10
     
  10. #8 supersucker, 10.08.2007
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Arghh,

    nicht drauf geachtet, das wir uns MAC-Subforum befinden.

    Dazu kann ich dann leider nichts mehr sagen.....
     
Thema:

Hilfe zum Thema kill prozesse

Die Seite wird geladen...

Hilfe zum Thema kill prozesse - Ähnliche Themen

  1. Hilfe.

    Hilfe.: Hallo ich habe centos 7.2.15.11 Ich habe die .rpm Dateien von Epson direkt installiert, aber sonst nichts. Nachdem ich im Terminal...
  2. Bräuchte Hilfe bei Backupscript mittels Bash und cronjob

    Bräuchte Hilfe bei Backupscript mittels Bash und cronjob: Es soll für bestimmte Ordner Archivierung aller Dateien(Logfiles), die älter als 30 Tage sind machen. Am besten einmal täglich nachts irgendwann....
  3. [Gelöst] Suchen und ersetzen mit Hilfe mehrerer Parameter

    [Gelöst] Suchen und ersetzen mit Hilfe mehrerer Parameter: Hallo zusammen, ich bin an einem Punkt angekommen, wo ich nicht mehr weiter komme und hoffe ihr könnt mir weiter helfen. Anbei ein Ausschnitt aus...
  4. Benötige Hilfe- Dateien vergleichen

    Benötige Hilfe- Dateien vergleichen: Hallo, für eine Arbeit an der Uni muss ich einige viele Bilder miteinander vergleichen, was ich gerne durch eine Automatisierung etwas...
  5. Anfänger braucht Hilfe bei DVB-S Installation

    Anfänger braucht Hilfe bei DVB-S Installation: Hallo, ich habe ein Problem. Ich habe openSuse 13.2 frisch installiert. Jetzt soll ein usb-TV-Modul TEVII s660 funktionieren. Ich kann bereits...