Anwendung hängt bei GetProcesses(ip)

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von spYro.

    Anwendung hängt bei GetProcesses(ip)

    Hallo zusammen :)

    Ich habe hier ein kleines Problem und hoffe, dass ihr mir helfen könnt ;)

    Ich bin dabei ein Tool zu programmieren, welches mir die laufenden Prozesse aller Rechner in einem Definierten IP-Bereich anzeigt.
    Das an sich ist ja nicht so schwer. Einfach

    VB.NET-Quellcode

    1. Dim ps As System.Diagnostics.Process

    und dann mit

    VB.NET-Quellcode

    1. For Each ps In System.Diagnostics.Process.GetProcesses(ip)

    die Prozesse anzeigen.
    Das funktioniert auch soweit ohne Probleme.
    Jetzt steht ich nur vor folgendem Problem:
    Wenn die Verbindung zum Remoteverbindungsdienst auf dem jew. PC nicht hergestellt werden kann (z.B. weil der Dienst nicht läuft oder der Rechner ausgeschaltet ist), dann hängt sich meine Anwendung auf.
    Ich habe es schon mit TRY versucht, aber es hilft nichts. Die Anwendung hängt trotzdem.
    Hier der Teil aus meinem Code:

    VB.NET-Quellcode

    1. Dim ps As System.Diagnostics.Process
    2. Try
    3. For Each ps In System.Diagnostics.Process.GetProcesses(ip)
    4. Next
    5. Catch ex As Exception
    6. End Try


    Also wenn die IP, die bei "GetProcesses(ip)" übergeben wird ein laufender PC ist, auf dem der Dienst läuft, dann klappt das wirklich super.
    Aber wenn das nicht der Fall ist, dann hängt er genau an der "for..."-Stelle und geht nicht weiter.
    Natürlich könnte ich vorher den Rechner pingen und das Ergebnis abfragen. Aber dann müsste ich auch vorher abfragen, ob der Dienst läuft u.s.w.
    Gibt es einen Weg, wie VB das abfragen der Dienste einfach "versucht" und wenn nach x sekunden keine Antwort kommt (stichwort "timeout") oder als Antwort null oder so kommt, dass er dann einfach weitermacht?

    Würde mich wirklich riesig über eure Hilfe freuen ?(

    LG spYro ;)
    Das Try / Catch bringt da absolut nix, sonst hätte es ja ohne es geknallt.
    Vllt. kannst Du den anderen PC per Ping befragen, ob er geneigt ist, mit Dir zu kommunizieren?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:

    Das Try / Catch bringt da absolut nix, sonst hätte es ja ohne es geknallt.
    Vllt. kannst Du den anderen PC per Ping befragen, ob er geneigt ist, mit Dir zu kommunizieren?

    Naja... Den PC anpingen kann ich natürlich, aber das sagt ja nichts darüber aus, ob der RemoteRegistry-Dienst auch läuft.
    Ich meine, es muss doch einen Weg geben, wie ich einen Befehl ausführen lasse und wenn der scheitert, dann soll er einfach weiter im Kontext machen, oder?
    Ich dachte das Try/Catch an der Stelle würde da vielleicht helfen :/
    Ich meine... wie machen das denn andere Programme in so einem Fall?
    Wenn die Verbindung nicht hergestellt werden kann, dann soll meinentwegen ne msgbox mit "fehler" kommen, aber das programm soll nicht bis zur nächsten jahrtausendwende hängen :(
    Dein Problem hat mit Try / Catch nix zu tun.
    Probier mal das Ping, und dann sehen wir weiter.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:

    Dein Problem hat mit Try / Catch nix zu tun.
    Probier mal das Ping, und dann sehen wir weiter.
    Hab gerade festgestellt, dass wenn der Rechner zwar eingeschaltet ist aber der Dienst nicht läuft, dann fängt das try/catch diesen fehler ab und ich kann normal weiterarbeiten.
    Also kann ich es über diesen Umweg dann doch machen:
    Ich muss erst den Rechner pingen und nur wenn er erreichbar ist, darf ich die Prozesse abfragen, auch wenn ich denn vielleicht nen Fehler bekomme.

    Ich versuch es mal darüber,danke :)
    @spYro: Und hör bitte auf, die Posts über Dir zu zitieren. Das kömmt störend.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany: Wieso kommt das störend?

    1. Ist die Zitier-Funktion wohl nicht ohne Grund hier eingebaut.

    2. Ich zitiere immer denjenigen Beitrag, auf den ich mich mit meiner Antwort beziehe.

    3. Wieso stören dich ca. 2 Zeilen im Kommentar-Block über meinem Post?

    Also:

    Danke erstmal für deinen Tipp mit dem Pingen, aber mit deinem letzten Beitrag bzgl. dem Kommentieren hast du dich schon fast lächerlich gemacht ;)

    LG spYro
    lies die Boardregeln: §4 Absatz 3 Zeichen f)

    Boardregeln schrieb:

    Das vollständige Zitieren von Beiträgen ("Fullquotes"), die direkt über dem eigenen stehen,
    ist völlig unnötig und daher nicht erlaubt. Auch wenn sich dazwischen schon mehrere Beiträge befinden, sollte
    man nur das zitieren, was unbedingt erforderlich ist. Gerade sehr große Voll-Zitate schaden der Übersicht enorm.

    Ich glaube du bist nicht in der Situation soetwas zu hinterfragen, wenn ein User, der dir zu helfen versucht, das (zu recht!) als störend empfindet. :thumbdown: Wenn du @RodFromGermany: als "lächerlich" bezeichnest, weil du dich daneben benimmst, nehme ich mal an, dass du noch nicht sehr lange hier dabei bist, und sofern du nicht vor hast dich zu entschuldigen, fürchte ich dass du auch nicht mehr besonders lange Spaß an diesem Forum haben wirst, da du schnell bei 90% aller fähigen User auf der Ignore-List landest...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „FuFu^^“ ()

    FuFu^^ schrieb:

    auf der Ignore-List landest...
    Präzisierung:
    Die Liste heißt Ignorierte Benutzer.
    @spYro: Das bedeutet, dass Deine Threads bei diesen Usern nicht angezeigt werden, Du also von diesen Usern auch keine Antwort bekommen kannst, was für Dich vielleicht störend ist.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich habe den Satz "Gerade sehr große Voll-Zitate schaden der Übersicht enorm." wohl anders Verstanden.
    Natürlich würde ich keine ellenlangen Absätze quoten, die direkt über mir stehen. Das ist echt unübersichtlich ;)

    "Ich glaube du bist nicht in der Situation soetwas zu hinterfragen, wenn
    ein User, der dir zu helfen versucht, das (zu recht!) als störend
    empfindet."
    Wieso bin ich nicht in der Position?
    Natürlich bin ich in einer Position das zu hinterfragen, genau wie es jeder andere ist.
    "Nur" weil ein User das als störend empfindet, muss es nicht bedeuten, dass es alle gleich empfinden (wie gesagt, wir reden hier über quotes mit wenigen Zeilen).

    Und ich habe hier niemanden als lächerlich bezeichnet. Wenn schon genau, dann bitte fairer Weise auch bei mir.

    LG spYro

    spYro schrieb:

    mit deinem letzten Beitrag bzgl. dem Kommentieren hast du dich schon fast lächerlich gemacht ;)
    Du bist wirklich schon ganze 2 Tage registiert du gehst so mit jemandem um, der dir hilft und weit über zehntausend Beiträge hat?! :cursing: Ich glaube du hast noch ganz andere Probleme...

    Thread deabonniert und du wirst von mir ignoriert. Das mag ich nicht ausdiskutieren.
    Ich wüsste nicht, was die Anzahl an Beiträgen mit dem Wissen zu tun hat oder damit, wie ich mit dem User umgehen sollte 8| . Ich behandle Menschen gleich, egal welche Religion, Hautfarbe, welchen Status sie haben oder wieviele Beiträge sie in einem Forum haben.

    Abgesehen davon bin ich 2 Tage UND ein Jahr hier registriert. Wer lesen kann ist klar im Vorteil ;)

    Aber es sagt viel über dich aus, dass du noch schnell einen Kommentar schreibst und den thread dann ignorierst.
    Würdest du das wirklich "nicht ausdiskutieren" wollen, hättest du dir die Energie und Mühe für deinen letzten Beitrag sparen können und ihn einfach ignorieren können. Niemand zwingt dich zum lesen. So macht es eher den Eindruck, dass du angst hast, dass dir bei einer Diskussion die Argumente ausgehen ^^

    Und wenn ich kleinlich sein würde, dann würde ich jetzt die Regeln zitieren, da du einen Quote von mir bringst, aber darauf überhaupt nicht eingest. Ein völlig sinnloser Quote also. Und da der nicht unbedingt notwendig ist, verstößt er wohl ebenso gegen die Regeln wie meine, oder wie siehst du das? :thumbsup:

    LG spYro