Kill Skript

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von SpliceX, 22.01.2013.

  1. #1 SpliceX, 22.01.2013
    SpliceX

    SpliceX Grünschnabel

    Dabei seit:
    22.01.2013
    Beiträge:
    6
    Zustimmungen:
    0
    Servus,

    ich versuche ein Kill Skript zu schreiben das folgendermaßen ablaufen soll. Kill soll per PID oder Namen (übergebene Parameter) beendbar sein. Wird weder noch angegeben, sollen alle dem aktiven Benutzer gehörende Prozesse gelöscht werden.

    Habe jetzt folgendes Konstrukt gebastelt:

    if [ $# -lt 1 ]
    then
    pkill -u $(whoami)
    else

    if [[ "$1" =~ ^[0-9]+$ ]]
    then
    kill -9 $1
    else
    pkill $1
    fi
    fi


    Das Problem ist das beim Aufrufen immer kommt:

    12: Syntax error: end of file unexpected (expecting "then")

    Selbst mit Diversen Anleitungen sieht das Abfragenkonstrukt "Normal" aus. Vielleicht könnt ihr mir weiterhelfen.

    Besten dank.
     
  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 Spröde, 23.01.2013
    Spröde

    Spröde Alter Sack

    Dabei seit:
    22.01.2012
    Beiträge:
    173
    Zustimmungen:
    0
    Als Bash-Script sieht das gut aus. Klopf also mal einen Shebang in die erste Zeile, damit der Script auch von der Bash ausgeführt wird:
    Code:
    #!/bin/bash
    
    if [ $# -lt 1 ]
    then
      pkill -u $(whoami)
    else
      if [[ "$1" =~ ^[0-9]+$ ]]
      then
        kill -9 $1
      else
        pkill $1
      fi
    fi
    
     
  4. #3 SpliceX, 23.01.2013
    SpliceX

    SpliceX Grünschnabel

    Dabei seit:
    22.01.2013
    Beiträge:
    6
    Zustimmungen:
    0
    Habs mal GENAU so übernommen.

    Beim ausführen über sh killn.sh PID kommt:

    : not found:
    killn.sh: 14: Syntax error: end of file unexpected (expecting "then")



    Bei bash killn.sh PID:

    killn.sh: Zeile 2: $'\r': Kommando nicht gefunden.
    killn.sh: Zeile 7: Syntaxfehler im bedingen Ausdruck.
    'illn.sh: Zeile 7: Syntaxfehler beim unerwarteten Wort `]]
    'illn.sh: Zeile 7: ` if [[ "$1" =~ ^[0-9]+$ ]]
     
  5. #4 tgruene, 23.01.2013
    tgruene

    tgruene Routinier

    Dabei seit:
    02.02.2012
    Beiträge:
    418
    Zustimmungen:
    0
    Hast Du das Skript evtl. unter Windows erzeugt? Schaut danach aus, als enthielte es Sonderzeichen, die dann die Interpretation durch bash durcheinanderbringen.
     
  6. #5 SpliceX, 23.01.2013
    Zuletzt bearbeitet: 23.01.2013
    SpliceX

    SpliceX Grünschnabel

    Dabei seit:
    22.01.2013
    Beiträge:
    6
    Zustimmungen:
    0
    Ich erzeuge gerade mal ne neue Textdatei unter Ubuntu. Mit sh als Suffix.

    Nachtrag: So, nun geht das Kill Skript zum Teil. das pkill killt nun alle Prozesse wo whoami der Besitzer ist. Nur wenn ich die PID eines Prozesses mit reingebe findet er diese irgendwie nicht.


    Nachtrag 2: Hach wie geil :) das meiste Funktioniert. Das Skript killt nun ohne Parameter alles und mit einem Wort als Parameter den richtigen Prozess. Nur das mit der PID klappt noch nicht.
    Es kommt aber immer wieder: killn.sh: 14: [[: not found

    Nachtrag 3: Nach nem bissien rumprobieren glaube ich, die zweite Abfrage ist falsch. Es sollte lediglich überprüft werden ob die Parameter von $1 Numerisch sind.
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. #6 Spröde, 23.01.2013
    Spröde

    Spröde Alter Sack

    Dabei seit:
    22.01.2012
    Beiträge:
    173
    Zustimmungen:
    0
    Welche Version der Bash benutzt Du?
    Code:
    bash --version
     
  9. #7 SpliceX, 23.01.2013
    SpliceX

    SpliceX Grünschnabel

    Dabei seit:
    22.01.2013
    Beiträge:
    6
    Zustimmungen:
    0
    Habs ein wenig verändert, läuft nun.

    Danke an alle Helfenden.

    Dieser Thread kann geschlossen werden.
     
Thema:

Kill Skript

Die Seite wird geladen...

Kill Skript - Ähnliche Themen

  1. Chinesische Behörde publiziert Liste der »Android-Killer«-Patente

    Chinesische Behörde publiziert Liste der »Android-Killer«-Patente: Eine chinesische Kartellbehörde hat die Liste der Patente veröffentlicht, mit denen Microsoft zahlreiche Android nutzende Hersteller erpresst....
  2. »Linux braucht nur ein Killer-Game«

    »Linux braucht nur ein Killer-Game«: Laut dem Entwickler des Spielehits »Battlefield« braucht Linux lediglich ein einziges Top-Spiel, um zu explodieren und sich am Markt als eine...
  3. Painkiller Hell & Damnation: Linux-Version in Arbeit

    Painkiller Hell & Damnation: Linux-Version in Arbeit: Wie die Verantwortlichen bei TF51 bekannt gaben, arbeitet das Unternehmen an einem Port ihres Flagschiffs »Painkiller Hell & Damnation« für Linux....
  4. Samba killt Server bei Datei-Upload, wie tracen?

    Samba killt Server bei Datei-Upload, wie tracen?: Hallo, ich habe hier ein gemoddetes NAS mit selbst gepatchtem 3.8er Kernel, der eigentlich sehr stabil läuft. Nur Samba stürzt reproduzierbar...
  5. Werden Chromebooks zu Windows-PC-Killern?

    Werden Chromebooks zu Windows-PC-Killern?: Auf ZDNet berichtet Steven J. Vaughan-Nichols, dass sich Chromebooks steigender Beliebtheit erfreuen, während Geräte mit Windows 8 und RT nur...