Lange Verzögerung, wenn ich einen Befehl zum ersten Mal in einem DOS-Fenster ausführe

Lange Verzögerung, wenn ich einen Befehl zum ersten Mal in einem DOS-Fenster ausführe

Wir betreiben einen Server (Win2k) mit mehreren Tools darauf. Auf allen Arbeitsstationen (XP) ist der PATH so eingestellt, dass dieser Ordner enthalten ist.

Wenn wir ein Tool (z. B. grep) von einer DOS-Box auf einer Workstation aus ausführen, gibt es manchmal eine lange Verzögerung (bis zu einer Minute), bevor das Tool ausgeführt wird. Nach der Verzögerung läuft alles wie gewohnt ab. Bei den nachfolgenden Ausführungen tritt diese Verzögerung nicht auf, selbst wenn sie von einer anderen DOS-Box aus ausgeführt werden.

Irgendwelche Ideen?

* MEHR DETAILS*

Dieses Szenario führt immer zu einer Verzögerung. Wir arbeiten an einem Tool in einem bestimmten Ordner auf dem Server. Das Tool wird auf einer Arbeitsstation in einer DOS-Box bearbeitet und kompiliert, die sich in dem Ordner befindet, in dem das Tool erstellt wird, und dann ausgeführt. Die Verzögerung ist immer da. Der folgende Lauf ist in Ordnung. Das erneute Generieren der EXE führt also zu einer Verzögerung.

Antwort1

Windows meldet sich beim Server an, um zu prüfen, ob sich der gewünschte Befehl in diesem Ordner befindet. Nach dem ersten Mal ist die Anmeldung bereits abgeschlossen. Wir haben jeden Tag das gleiche Problem beim Öffnen von Dokumenten und Ordnern auf dem Server.

Sie können es (unter Windows) möglicherweise beschleunigen, indem Sie während der Anmeldung den folgenden Befehl ausführen:

Net Use \\ServerName

Die Verarbeitung des Befehls dauert eine Minute, kann aber als Hintergrundaufgabe ausgeführt werden, die der Benutzer nicht bemerkt. Ich weiß jedoch nicht, ob dies in Ihrem Fall zu Problemen mit „zu vielen Verbindungen“ führen wird.

Antwort2

grepist kein Win32-Befehl, sondern ein Unix-Befehl. Daher haben Sie möglicherweise das Unix-Subsystem aufgerufen, das in älteren Windows-Versionen vorhanden ist.

Zur Unterstützung dieser Unix-Befehle muss ein spezieller Systemprozess gestartet werden, was die anfängliche Verzögerung erklären kann. Ich kann mich nicht an den Namen des Prozesses erinnern, aber wenn Sie etwas wie Process Explorer verwenden, können Sie sehen, wie er gestartet wird.

Vielleicht dasTechNet-Reihekann hilfreich sein. Details zum Subsystem finden Sie im Buch „Windows Internals“.

Antwort3

Möglicherweise gibt es in Ihrem Pfad einen Netzwerkspeicherort, bei dem eine Zeitüberschreitung auftritt. Wenn Sie versuchen, ein Programm unter DOS oder über die Option „Ausführen“ im Startmenü auszuführen, und die ausführbare Datei oder das Skript/die Batchdatei nicht zuerst im aktuellen Arbeitsverzeichnis gefunden wird, wird auch jedes im Pfad aufgeführte Verzeichnis durchsucht.

Sie können im DOS-Fenster „PATH“ eingeben, um zu sehen, ob etwas außerhalb von Laufwerk C: in der Liste enthalten ist. Wenn nicht, könnten die nächsten Verdächtigen sein:

  1. Auch das erstmalige Laden eines sehr großen Programms kann ein Problem darstellen (da bei späterer Verwendung ein Cache verwendet wird). Haben Sie einen Link zu dem von Ihnen verwendeten „grep“-Tool? Wenn es sich um ein kleines eigenständiges Programm handelt, sollte dies kein Problem sein.

  2. Langsame Antivirensoftware (sehr selten)

  3. Es treten erste Festplattenfehler auf (erstellen Sie so schnell wie möglich ein vollständiges Backup).

  4. Übermäßige Fragmentierung Ihres Dateisystems (kann leicht behoben werden, indem Sie die Defragmentierung ausführen. Sie finden sie unter: Startmenü -> Programme -> Zubehör -> Systemprogramme -> Defragmentierung)

verwandte Informationen