unterschiedliche Ausgaben von einem Befehl über rsh

Dieses Thema: "unterschiedliche Ausgaben von einem Befehl über rsh" im Forum "Programmieren allgemein" wurde erstellt von pygo, 13.12.2005.

  1. pygo

    pygo Jungspund

    Dabei seit:
    31.10.2005
    Beiträge:
    17
    Zustimmungen:
    0
    Hallo!

    Ich habe hier ein seltsames Phänomen, dass ich mir gerade nicht erklären kann und auch nicht weiss, wo ich Informationen dazu finden könnte. Ich mache in einem Perl-Script einen rsh-Aufruf. (Ja, soll ich nicht mehr, geht hier aber nicht anders und eigentlich sollte das auch nicht der Grund für das obskure Verhalten sein.) In dem Script, mit dem ich nur getestet habe, läufts super. Hier der Auszug aus dem Script:
    Code:
    [...]
    my $server = 'fs00c1';
    open(PS, "rsh $server -l perforce ps -efa | grep 'tail +0f /cluster' | ");
    while(<PS>){
    	print $_;
    }
    close(PS);
    gibt das folgende aus, das so auch auf der Kommandozeile käme und völlig erwartet ist:
    Code:
    perforce 24101 23900  0 10:24:06 ?        0:00 tail +0f
    /cluster/3008/log/log_3008
    perforce 13796 13795  0 13:20:50 ?        0:00 tail +0f
    /cluster/3402/log/log_3402
    perforce 23865 23863  0 10:24:04 ?        0:00 tail +0f
    /cluster/4004/log/log_4004
    Dann wollte ich es allerdings übertragen in mein 'Hauptscript' und habe es erst reingepastet und dann angepasst (der hostname sollte zum Beispiel erst ausgelesen werden etc):
    Code:
    [...]
    # get the hostname for this server
    open(HOST, "rsh perforce$server -l perforce hostname |");
    my $host = <HOST>;
    close(HOST);
    
    # kill all running tails on the host
    my $hostCommand = "tail +0f $logfile";
    print $hostCommand."\n";
    open(PS, "rsh ".$host." -l perforce ps -efa | grep '".$hostCommand."' | ");
    while(my $psLine = <PS>){
    	print "PSline ".$psLine;
    	if($psLine =~ / *?[a-zA-Z]+? (\d+?) /){
    		# this line indicates a running tail that should be quit
    		my $pidToKill = $1;
    		open(STOP, "rsh $host -l perforce kill -9 ".$pidToKill." | ");
    		close(STOP);
    	}
    }
    close(PS);
    [...]
    und da erhalte ich als Ausgabe auf einmal
    Code:
    tail +0f /cluster/3402/log/log_3402
    PSline Last login: Tue Dec 13 09:11:49 from ls0066.xxx.yyy-
    PSline #
    PSline # PrimeCLuster fs00c
    PSline #
    PSline # ######################################################
    PSline # !! DO NOT change * perf9999 *  configuraion
    PSline # !!  cause this service is the source for new one 
    PSline # ######################################################
    PSline 
    PSline Mirroring Base LUNs/slices:
    PSline 
    PSline Rot(es1000)                     Wdf(es1001)
    PSline /dev/dsk/c3t0d0s6       <->     /dev/dsk/c4t2d0s6
    PSline /dev/dsk/c3t1d1s6       <->     /dev/dsk/c4t3d1s6
    PSline /dev/dsk/c3t0d2s6       <->     /dev/dsk/c4t2d2s6
    PSline /dev/dsk/c3t1d3s6       <->     /dev/dsk/c4t3d3s6
    PSline /dev/dsk/c3t0d4s6       <->     /dev/dsk/c4t2d4s6
    PSline /dev/dsk/c3t1d5s6       <->     /dev/dsk/c4t3d5s6
    PSline ________________________________________________________
    PSline You have new mail.
    PSline /sni/tools/rms/clusterinfo.sh: powermt: execute permission denied
    PSline ACHTUNG CAUTION ACHTUNG CAUTION ACHTUNG CAUTION ACHTUNG CAUTION
    ACHTUNG
    PSline
    =======================================================================
    PSline this system ist part of a HA-Cluster !!
    PSline 
    PSline 	HA-Cluster-Softwarestate on this host: 		Active
    PSline 	HA-Cluster will start at next reboot : 		never
    PSline 	Dead EMC Powerpath Channels (normal zero): 	0
    PSline 	Perforce Services running on this host   :      42
    PSline 	named	1666 1667 2100 3000 3003 3005 3008 3009 3010 3011 3012
    PSline 		3013 3014 3016 3020 3021 3022 3025 3027 3028 3040 3091
    PSline 		3100 3223 3224 3225 3227 3228 3230 3300 3301 3402 3645
    PSline 		4000 4001 4002 4003 4004 5000 5001 5555 9997 
    PSline 
    Ich kann dann sogar in dem Kommandofenster, in dem ich das Script gestartet habe Befehle an den entsprechenden Host schicken. Wie kann denn sowas vorkommen? Ich sehe keinen Unterschied zwischen den beiden Aufrufen...

    Ok, ich sehe da eine Zeile, die mir was von "execute permission denied" erzählt. Aber ist das überhaupt mein Aufruf und wieso steht das erstens überhaupt in diesem Kontext und zweitens die permission ist mit dem anderen Script ja auch da.

    Ich wäre für jede Idee erst mal dankbar!

    Beste Grüsse - Pygo
     
  2. Anzeige

    Schau dir mal diesen Ratgeber an. Viele Antworten inkl. passender Shell-Befehle!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. pygo

    pygo Jungspund

    Dabei seit:
    31.10.2005
    Beiträge:
    17
    Zustimmungen:
    0
    Also... ich schäm mich jetzt ganz doll aber leider kann ich meinen Eintrag nicht löschen.

    Fehler war der: ich habe den Hostnamen eingelesen und in $host gespeichert. Allerdings war da ein \n am Ende - und das hat das Problem verursacht! Da hätte ich auch vorher mal drauf kommen können...
     
  4. sono

    sono Sack Flöhe Hüter

    Dabei seit:
    31.01.2004
    Beiträge:
    1.299
    Zustimmungen:
    0
    Ort:
    http://webfrap.de
    Passiert.
    Da bist du nicht der einizige der bereits 5 Minuten nach dem Post das Problem gefunden.

    Siehs so , hättest du nicht gepostet hättest du vermutlich das Problem immernoch nicht gefunden rein nach der Annahme dass immer das schlimmstmögliche in einer Situation passiert .

    Gruß Sono
     
Thema:

unterschiedliche Ausgaben von einem Befehl über rsh

Die Seite wird geladen...

unterschiedliche Ausgaben von einem Befehl über rsh - Ähnliche Themen

  1. mysql Select Abfrageergebnis in unterschiedlichen Variablen sichern

    mysql Select Abfrageergebnis in unterschiedlichen Variablen sichern: Hallo zusammen, es geht um folgenden Teil meiner .sh-Datei: NumberCheck=`mysql $SQL_ARGS "SELECT lkw, Firma FROM adb_group WHERE...
  2. thunderbird plugin für unterschiedliche mail absender (postifx)

    thunderbird plugin für unterschiedliche mail absender (postifx): rm me rm me:devil:
  3. Bash: Geteiltes Fenster mit unterschiedlichen Funktionen

    Bash: Geteiltes Fenster mit unterschiedlichen Funktionen: Hallo Leute, ist es in Bash möglich, zwei Funktionen in zwei getrennten Teilen eines Terminalfensters ablaufen zu lassen? Da Bash die Befehle...
  4. Unterschiedliche Ansichten zur Hintertür in Samsungs Galaxy-Geräten

    Unterschiedliche Ansichten zur Hintertür in Samsungs Galaxy-Geräten: Der Sicherheitsforscher Dan Rosenberg hält die von Replicant-Entwicklern publizierte Hintertür in Samsungs Galaxy-Mobilgeräten mit Android für...
  5. Unterschiedlichen Text in mehrere Dateien finden und löschen / ersetzen

    Unterschiedlichen Text in mehrere Dateien finden und löschen / ersetzen: Moin erstmal, ich suche nach einer Möglichkeit, in mehreren unterschiedlichen Dateien Text mit folgendem Muster zu suchen und zu löschen oder...